씬디의 블로그
[프로그래머스] 피자 나눠 먹기 (1) 120814 Swift 본문

문제: https://school.programmers.co.kr/learn/courses/30/lessons/120814
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다.
피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.

처음엔 피자가 남았을 경우 +1을 더해주는 코드를 생각했다
func solution120814(_ n:Int) -> Int {
var result = 0
if n % 7 > 0 {
result = n / 7 + 1
} else {
result = n / 7
}
return result
}
두번째 풀었을 때는 삼항연산자를 적용해서
나머지가 없을 경우는 0, 있을 경우는 1를 더해주는 코드를 작성했다
func solution120814(_ n:Int) -> Int {
var remainPizza = n % 7 == 0 ? 0 : 1
return n / 7 + remainPizza
}
세번째 풀었을 때는 코드가 훨씬 간결해졌다
나머지가 있을 경우, 반올림이 아닌 그냥 올림! 을 해줄 수 있는 ceil 이라는 친구를 알게 되었다
func solution120814(_ n:Int) -> Int {
return Int(ceil(Double(n) / Double(7)))
}
2023.12.01 - [Swift] - [Swift] 소수점 다루는 친구들(ceil, round, floor, trunc)
[Swift] 소수점 다루는 친구들(ceil, round, floor, trunc)
Swift [올림 ceil] 알고리즘 문제를 풀다가 나머지가 있을 경우, 반올림이 아닌 아예 올림을 해버리는 친구가 필요했다 그래서 알게 된 ceil 소수점이 0보다 큰 경우 무조건 올린다 예시 ceil(5.123) // 6.
cyndi0330.tistory.com
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 배열 뒤집기 120821 / 문자열 뒤집기 120822 Swift (0) | 2023.12.01 |
---|---|
[프로그래머스] 배열 원소의 길이 120854 Swift (1) | 2023.11.30 |
[프로그래머스] 배열 두배 만들기 120809 Swift (0) | 2023.11.30 |
[프로그래머스] 배열의 평균값 120817 Swift (0) | 2023.11.30 |