def solution(slice, n):
answer = 0
while answer // n >= 1:
answer += slice
return answer // slice
<aside> 💡
while 문의 조건을 잘못 적용했다..!
n 인원수보다 작을때 ! 까지만 반복해야 하는데, 저렇게 되면..
</aside>
def solution(slice, n):
answer = 0
while answer // n >= 1: # ❌ 이 조건이 잘못됨
answer += slice
return answer // slice
여기서 문제가 되는 부분은 조건식이에요.
answer
는 현재까지 모인 조각 수인데,
while answer // n >= 1:
→ "answer를 n으로 나눈 몫이 1 이상일 때만 반복"
👉 이건 의미가 완전히 다름.
def solution(slice, n):
answer = 0
pizza = 0
while answer < n:
answer += slice
pizza += 1
return pizza
<aside> 💡
그러나 이 문제도 ceil() 함수를 이용하면 더 쉽게 풀 수 있다…! 아직 문제를 정확히 이해하고 함수를 사용하는 것이 익숙하지 않다..
</aside>
import math
def solution(slice, n):
return math.ceil(n / slice)
<aside> 💡
여기서 중요한 것은 // 몫 을 구하는 것이 아닌! 소수점까지 구하고 이를 math.,ceil 함수를 이용해야 한다는 것이다!
</aside>