일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Di
- ARC
- Safari Inspector
- css학습
- TDD
- RxSwift
- Swift코딩테스트
- firestore
- SWIFT
- 클린코드
- IOS
- AutoLayout
- Swift디자인패턴
- ios면접
- firebase
- RC
- 코딩테스트입문
- algorithm
- five lines of cdde
- storekit2
- unittest
- UIKit
- 카카오맵클론
- 앱의생명주기
- five lines of code
- alamofire
- 프로그래머스
- mrc
- 리팩터링
- hackerrank
- Today
- Total
목록전체 글 (97)
샘성의 iOS 개발 일지
문제 설명: "*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요. 내 풀이: import Foundation let n = readLine()!.components(separatedBy: [" "]).map { Int($0)! } // 1~n동안, "*"를 i만큼 프린트 하는 것을 반복 for i in 1...n.first! { print(String(repeating: "*", count: i)) } 회고: 루프문은 시간복잡도가 O(n)이라 그런지 테스트 10개의 평균 속도가 5.0대를 갖고있었다..
문제 설명: 머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 내 풀이: import Foundation func solution(_ num_list: [Int]) -> [Int] { return num_list.reversed() } 회고: reverse()는 주어진 배열에 접근하여 그 공간 안에서 순서를 바꿔버리는, mutating function이기 때문에 시간복잡도가 O(n)이다. 반대로, reversed()는 기존의 배열을 ReversedCollec..
문제 설명: 머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 내 풀이: import Foundation func solution(_ money:Int) -> [Int] { return [money/5500, money%5500] }
문제 설명: 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다. 구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요. 내 풀이: import Foundation func solution(_ price:Int) -> Int { switch price { case 100000...299990: return Int(Double(price) * 0.95) case 300000...499990: return Int(Double(price) * 0.9) case 500000...: return Int(Double(price) * 0.8) default: return price } ..
문제 설명: 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요. (정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.) 내 풀이: import Foundation func solution(_ numbers:[Int]) -> Double { // 배열 전체 더한 값 let sum = numbers.reduce(0) { $0 + $1 } return Double(sum) / Double(numbers.count) } 회고: 고차함수는 달콤햄...
문제 설명: 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 내 풀이: import Foundation func solution(_ slice:Int, _ n:Int) -> Int { // 조각이 사람 수보다 많은 경우, 1판이면 된다. guard slice < n else { return 1 } // 배열 형태로 몫, 나머지를 변수에 담기 let pizza = [n / slice, n % slice] // 나머지가 없는 경우, 몫을 / 나머지가 있는..
어제 한 카카오톡을 이어서 이번에는 구글 로그인을 해보려고 한다. https://developers.google.com/identity/sign-in/ios/start-integrating?hl=ko iOS 및 macOS용 Google 로그인 시작하기 | Authentication | Google Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 iOS 및 macOS용 Google 로그인 시작하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류 developers.google.com 1. 모듈 설치 카카오톡과 일관되게 Cocoapods로 진행할 것이다. pod 'GoogleSignIn' // ..
국민 메신저인 카카오톡 로그인 구현은 필수일 것 같아 구현하면서 기록하려한다. 간단한 Auth만 구현하는 것이기 때문에 스토리보드로 해보려고 한다. 1. 종류 우선, 카카오에서 제공하는 로그인 종류는 2가지이다. (하단참고) 필자는 권장이라 써있는, 카카오톡으로 로그인을 구현할 것이다..! 2. iOS 플랫폼 등록 & 카카오 로그인 활성화 https://developers.kakao.com/ 상단 링크에 들어가서 로그인 >> 시작하기 >> 애플리케이션 추가하기 >> 정보 기입 (테스트용이기 때문에 필자는 임의로 넣었다 - 차후 수정도 가능하다고함) 여기까지 하면, 상단의 이미지처럼 앱이 추가된 것을 확인할 수 있다. 이제 본격적인 플랫폼 등록을 해야한다. 앱 키 밑의 '플랫폼' >> iOS 플랫폼 등록 ..