Python

[Python/level 0] 피자 나눠 먹기 (1) - 120814, (n-1) // 7+1

Se On 2024. 7. 29. 20:29

 

문제 설명

머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.

 

(n - 1) // 7 + 1

  • 기본적으로 피자를 7조각으로 자르기 때문에, 피자 한 판으로 최대 7명이 한 조각씩 먹을 수 있음
    • 1~7명: 피자 1판
    • 8~14명: 피자 2판
    • 15~21명: 피자 3판
    • 즉, 피자 한 판이 추가될 때마다 7명이 추가로 먹을 수 있음
  • (n - 1)
    • 1명~7명까지의 경우를 0~6범위로 변환
  • (n - 1) // 7
    • 0~6까지의 경우를 7로 나누면 몫: 0 = 즉, 7명까지의 몫은 0
    • 7이 넘을 경우 몫은 1, 14를 넘을 경우 몫은 2
  • + 1
    • 피자의 기본 한 판이 포함됨
  • 시간 복잡도: O(1)

 

code 

# 나의 풀이
def solution(n):
    if n < 7:
        return 1
    elif n % 7 == 0:
        return n // 7
    else:
        return (n // 7) + 1
  • 시간 복잡도: O(n)
# 다른 방법
def solution(n):
    return (n - 1) // 7 + 1
반응형