일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- iOS앱 디버깅
- SWIFT
- AutoLayout
- ios면접
- ReactorKit UnitTest
- Di
- Safari Inspector
- Swift코딩테스트
- hackerrank
- Swift디자인패턴
- algorithm
- firestore
- 프로그래머스
- ARC
- firebase
- alamofire
- 시험에자주나오는것만
- HackersRank
- 카카오맵클론
- 코딩테스트입문
- Bubble Search
- 반응형프레임워크
- unittest
- RxSwift
- IOS
- TDD
- mrc
- RC
- UIKit
- 앱의생명주기
- Today
- Total
목록Algorithm/프로그래머스 (18)
샘성의 iOS 개발 일지
문제 설명: 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 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] // 나머지가 없는 경우, 몫을 / 나머지가 있는..
문제 설명: 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 내 풀이: 우선, 최소공배수와 최대공약수를 구할 수 있는지를 확인하는 문제 같았다. // 최대공약수 구하는 함수 func gcd(_ a: Int, _ b: Int) -> Int { // b가 0이 된다면(나누어떨어진다면) a가 최대공약수 / 나누어떨어지지 않으면 재귀함수를 통해 나누어떨어질때까지 실행 let result = b == 0 ? a : gcd(b, a % b) return result } // 최대공약수를 통해..
문제 설명: 머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요. 내 풀이: import Foundation func solution(_ n:Int) -> Int { // 몫, 나머지 형태로 배열 생성 let pizzaArray: [Int] = [n / 7, n % 7] // 나머지가 없으면 몫을 , 나머지가 있으면 몫 + 1을 결과로 줌 let result = pizzaArray[1] == 0 ? pizzaArray[0] : pizzaArray[0] + 1 return result }