본문 바로가기

전체 글67

내 장점은 무엇인가? 회사에 지원했을때 신입으로 어필할만한 건 뭘까? 면접을 보면서 느꼈다. 내가 이 회사에 어필할건 무엇인가? 회사에서는 어떤 인재를 뽑을까? 신입에 큰 기대하는바가 있을까? 인턴한테 큰 기대하는바가 있을까? 그리 많진 않을것이다. 그럼 다들 말하는 내용. 기본 개념만 잘 알면 된다. 근데 생각해보면 다들 대충 문법 쓰윽 하고 플젝하고 사이드를 한다. 물론 기본 문법을 마스터하고 넘어가는 사람들도 있을거다. 하지만 난 아닌거같다; 그래서 일단 면접때 장점으로 말할만한 Swift언어만큼은 자신있어요라는거를 준비하려고 한다. 추가로 준비할거는 많다. 자료구조, 알고리즘, 디자인패턴, 개발열정, 자기주도적개발, oop, solid원칙등 일단 이 말한것들을 자신있어요!라는걸 하기 위해 준비해보겠다. 2025. 4. 10.
iOS 면접 회고 이번 면접에서는 느끼는 바가 크다. 지금까지 총 3번의 면접을 봤고 첫번째는 1대1 파트장님과의 면접. 기술면접도 없는 그저 인성면접과 학교에서 공부한거 위주로 물어봤기에 별 감흥이 없었다.> 일주일뒤 불합 문자 두번째 면접은 기술면접과 인성면접을 동시에 본거같다. 1대2 개발자분과 인사담당자 2분이 계셨고 인성면접은 뭐.. 그냥 편하게 얘기했고 내가 제출한 포트폴리오 위주로 기술면접을 진행했는데 사실 기술적으로 물어본 질문은 없었다.  마지막에 iOS 생명주기 순서에 대해 얘기해보라고 했을때 viewdidload.....라고 한 내 자신..... 실망스럽다누가봐도 불합이다. 기술면접에 대해 부족한 나> 3일뒤 사람인 불합알림 그리고 느끼는 바가 큰 세번째 면접. 이 곳은 서류 > 과제 > 실무면접 진행.. 2025. 4. 10.
[실버5][Swift]백준2563번 https://www.acmicpc.net/problem/2563 답안코드import Foundationlet n = Int(readLine()!)!var paper = [[Bool]](repeating: [Bool](repeating: false, count: 100), count: 100)for _ in 0..n을 입력받아 색종이의 개수를 저장합니다.paper라는 100x100 크기의 2차원 불리언 배열을 만듭니다. 초기값은 모두 false입니다.n번 반복하면서:색종이의 왼쪽 아래 꼭짓점 좌표 (x, y)를 입력받습니다.(x, y)부터 (x+9, y+9)까지의 영역을 true로 설정합니다.최종적으로 paper 배열에서 true인 요소의 개수를 세어 출력합니다.flatMap { $0 }로 2차원 배열을.. 2024. 10. 14.
[Error]Thread 1: "Could not find a storyboard named 'Main' in bundle NSBundle 스토리보드를 없애고 코드로만 사용하려고 세팅하려다 빌드했더니 이런 에러가 생겼다 이 에러는 말 그대로 번들 내에서 Main을 찾을수 없다는 말이다 따라서Thread 1: "Could not find a storyboard named 'Main' in bundle NSBundle"info.plist에서 잘 삭제했는지 재확인한다Main storyboard file base name 삭제Storyboard Name 삭제 2024. 10. 7.
[브론즈1][Swift]백준1546번(map/reduce) https://www.acmicpc.net/problem/1546 답안코드let N = Int(readLine()!)!let scores = readLine()!.split(separator: " ").map { Double($0)! }let maxScore = scores.max()!let newScores = scores.map { $0 / maxScore * 100 }let average = newScores.reduce(0, +) / Double(N)print(average)let N = Int(readLine()!)!:첫 번째 줄에서 과목의 개수 N을 입력받아 정수로 변환합니다.!를 사용한 강제 언래핑은 입력이 항상 유효한 정수일 것이라고 가정할 때만 안전합니다.let scores = readL.. 2024. 10. 7.
[브론즈2][Swift]백준10811번(reverse) https://www.acmicpc.net/problem/10811 답안코드let input = readLine()!.split(separator: " ").map { Int($0)! }let N = input[0]let M = input[1]var baskets = Array(1...N)for _ in 0..let input = readLine()!.split(separator: " ").map { Int($0)! }:첫 번째 줄의 입력을 받아 공백으로 분리하고, 각 부분을 정수로 변환합니다.!를 사용하여 강제 언래핑하는 것은 입력이 항상 유효하다고 가정할 때만 안전합니다.let N = input[0], let M = input[1]:입력받은 값에서 N(바구니의 개수)과 M(역순 작업의 횟수)을 추출합.. 2024. 10. 7.
[브론즈2][Swift]백준3052번(Set) https://www.acmicpc.net/problem/3052 답안코드var remainders = Set()for _ in 1...10 { if let input = readLine(), let number = Int(input) { remainders.insert(number % 42) }}print(remainders.count)var remainders = Set():정수형 Set을 생성합니다. Set은 중복을 허용하지 않는 컬렉션 타입입니다.이를 사용하면 자동으로 중복된 나머지를 제거할 수 있습니다.for _ in 1...10 {:10번 반복하는 루프를 시작합니다. 10개의 숫자를 입력받기 위함입니다.if let input = readLine(), let number .. 2024. 10. 7.
[브론즈3][Swift]백준5597(배열) https://www.acmicpc.net/problem/5597 답안코드var students = Array(repeating: false, count: 31)for _ in 1...28 { if let input = readLine(), let number = Int(input) { students[number] = true }}for i in 1...30 { if !students[i] { print(i) }}31개의 false 값을 가진 배열을 생성합니다 (0번 인덱스는 사용하지 않음).28번 반복하면서 입력받은 번호에 해당하는 인덱스를 true로 변경합니다.1부터 30까지 순회하면서 false인 인덱스(즉, 제출하지 않은 학생의 번호)를 출력합니다... 2024. 10. 7.
[브론즈2][Swift]백준10813 https://www.acmicpc.net/problem/10813 답안코드// N(바구니 개수)과 M(공을 바꾸는 횟수) 입력 받기let input = readLine()!.split(separator: " ").map { Int($0)! }let N = input[0]let M = input[1]// 바구니 초기화 (1부터 N까지의 번호가 적힌 공)var baskets = Array(1...N)// M번 공 바꾸기for _ in 0..temp라는 임시 변수를 사용하여 baskets[i]의 값을 저장합니다.baskets[i]에 baskets[j]의 값을 할당합니다.baskets[j]에 temp(원래 baskets[i]의 값)를 할당합니다.swapAt 메서드를 사용해서 해결할수있어요// i번째 바구니와 .. 2024. 10. 7.
[브론즈3][Swift]백준10810(Array) https://www.acmicpc.net/problem/10810 답안코드// N(바구니 개수)과 M(공을 넣는 횟수) 입력 받기let input = readLine()!.split(separator: " ").map { Int($0)! }let N = input[0]let M = input[1]// 바구니 초기화 (1부터 N까지의 바구니, 초기에는 모두 비어있음)var baskets = Array(repeating: 0, count: N)// M번 공 넣기for _ in 0..N(바구니 개수)과 M(공을 넣는 횟수)을 입력받습니다.Array(repeating: 0, count: N)으로 N개의 바구니를 0으로 초기화합니다. 여기서 0은 바구니가 비어있음을 의미합니다.M번 반복하면서 다음 작업을 수행합.. 2024. 10. 5.