프로그래머스 · 피자 나눠 먹기 (3)
문제
피자는 두 조각에서 열 조각까지 원하는 조각 수 slice로 자른다. 먹을 사람이 n명이고 모두 최소 한 조각 이상 먹으려면 최소 몇 판을 시켜야 하는지 반환한다. slice는 2 이상 10 이하, n은 1 이상 100 이하다.
풀이
사람 수 n을 조각 수 slice로 나눈 나머지에 따라 나눈다.
- 나머지가 0이면 몫이 그대로 판 수다. 7조각짜리 피자를 7명이 먹으면 1판, 6조각짜리를 48명이 먹으면 8판이다.
- 나머지가 있으면 몫에 1판을 더한다. 7조각짜리를 18명이 먹으면 몫이 2이므로 3판이 필요하다.
def solution(slice, n):
return n//slice if (n%slice)==0 else n//slice+1(1)과 거의 같은 문제이고, 셋 중에서는 (2)가 상대적으로 어렵다.
짚고 갈 점
매개변수 이름 slice는 내장 함수 slice를 가린다. 이 코드에서는 내장 slice를 쓰지 않아 문제는 없다.