자기계발
프로그래머스
피자 나눠 먹기 (3)

프로그래머스 · 피자 나눠 먹기 (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를 쓰지 않아 문제는 없다.

출처