일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- IBOutlet
- WWDC16
- Remot Push
- 연산 프로퍼티
- 트레일링 클로저
- OperationQueue
- uikit
- AppTransportSecurity
- DispatchQueue
- Choosing Between Structures and Classes
- 후행 클로저
- 진입점
- firebase
- Understanding Swift Performance
- weak
- IBOutletCollection
- userdefaults
- 원격 푸시
- SWiFT
- 동시성프로그래밍
- ios
- viewcontroller
- for-in
- TableView
- CoreLocation
- UIButton
- RunLoop
- tableViewCell
- entrypoint
- property wrapper
- Today
- Total
목록분류 전체보기 (72)
iOS 공부하는 감자
Big-O Big-O는 알고리즘의 시간 복잡도를 나타내는 표기법이다. 알고리즘의 속도는 작업을 처리하는 단계에 따라서 달라진다. (단계가 적을수록 좋은 알고리즘) inputData의 크기와 관계없이 동일한 수의 단계를 수행한다면 O(1)이라고 표기하고 inputData의 크기와 비례해서 수행되는 단계가 변화한다면 O(N) 이라고 표현한다. 알고리즘 문제에서 시간초과가 뜨지 않기 위해서는 시간 복잡도에 대한 이해를 바탕으로 코드를 작성해야 될 것 같다.. 시간초과로 프로그래머스에서 2시간 삽질하다가 머리에 쥐나서 포기했다.. 🤬 애플 개발자 문서에서 각 메서드의 시간복잡도를 찾을 수 있다. (맨 아래에 나옴) Array 메서드 배열은 순서대로 저장되므로 중간에 값을 추가하거나 없애면 그 뒤의 값들을 재배치..
문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 입출력 예 s result "try hello world" "TrY HeLlO WoRlD" 입출력 예 설명 "try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면..
HIG 애플에서 개발자들에게 앱의 인터페이스를 설계할 때 지키면 좋을 내용들을 가이드라인을 통해 제안하는 것 같다. 앱의 사용자가 UI를 보고 쉽게 앱의 사용법을 알 수 있도록 하려는 목적인듯 앱스토어 심사 과정에서 HIG를 너무 벗어난 UI 디자인을 가지고 있다면 반려(?) 시키기도 한다는 것 같다.. 취업 면접 질문으로 HIG에 관하여 알고 있는지, 읽어보았는지 물어보기도 한다. https://developer.apple.com/design/human-interface-guidelines/ Human Interface Guidelines - Design - Apple Developer Human Interface Guidelines Get in-depth information and UI resour..
문제 설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 1000000이하의 자연수입니다. 입출력 예 n result 10 4 5 3 입출력 예 설명 입출력 예 #1 1부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환 입출력 예 #2 1부터 5 사이의 소수는 [2,3,5] 3개가 존재하므로 3를 반환 내 풀이 func checkPrime(num: Int) -> Bool { for n in 2.. Int { var primeCount: Int = 0 for num in 2...n { primeCount = checkPrime..
문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예 n result 45 7 125 229 입출력 예 설명 입출력 예 #1 답을 도출하는 과정은 다음과 같습니다. n (10진법) n (3진법) 앞뒤 반전(3진법) 10진법으로 표현 45 1200 0021 7 따라서 7을 return 해야 합니다. 입출력 예 #2 답을 도출하는 과정은 다음과 같습니다. n (10진법) n (3진법) 앞뒤 반전(3진법) 10진법으로 표현 125 11122 22111 229 따라서 229를 return 해야 합니다. 내 풀이 ..
문제 설명 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ left ≤ right ≤ 1,000 입출력 예 left right result 13 17 43 24 27 52 입출력 예 설명 입출력 예 #1 다음 표는 13부터 17까지의 수들의 약수를 모두 나타낸 것입니다. 수 약수 약수의 개수 13 1, 13 2 14 1, 2, 7, 14 4 15 1, 3, 5, 15 4 16 1, 2, 4, 8, 16 5 17 1, 17 2 따라서, 13 + 14 + 15 - 16 + 17 = 43을 return 해야 합니..
디버깅 사용법 BreakPoint 원하는 라인에서 실행중인 앱을 일시정지 하는 포인트 라인 번호를 클릭하면 파란색으로 표시되면서 BreakPoint가 생긴다. BreakPoint는 마우스 드래그를 통해 제거하거나 옮길 수 있다. Xcode 하단의 Debugging Area에서는 디버깅 중 일시 정지된 BreakPoint에서의 현재 변수 상태를 확인할 수 있다. 만약 5번 라인에 BreakPoint를 설정한다면 5번 라인을 실행하고 멈추는게 아니라 4번 라인까지 실행하고 5번 라인을 실행하기 전 일시정지된다. Control Flow 디버깅의 흐름을 제어하는 방법은 3가지가 있다. 다음 BreakPoint로 넘어가는 방법 : Pause/continue execution 다음 코드(라인)이 실행되게 하는 방법..
문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 입출력 예 a b return 3 5 12 3 3 3 5 3 12 내 풀이 func solution(_ a:Int, _ b:Int) -> Int64 { return Int64(Array(a > b ? b...a : a...b).reduce(0, +)) }
최소직사각형 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다 명함 번호 가로길이 세로길이 1 60 50 2 30 70 3 60 30 4 80 40 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때의 ..
나머지가 1이 되는 수 찾기 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 3 ≤ n ≤ 1,000,000 입출력 예 n result 10 3 12 11 입출력 예 설명 입출력 예 #1 10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다. 입출력 예 #2 12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다. 내 풀이 func solution(_ n:Int) -> Int { var..