[Programmers] #120814 - 피자 나눠 먹기 (1) [Java][C++][Python]
피자 한 판이 7조각으로 잘릴 때, n명이 한 조각씩 먹기 위한 최소 피자 판수를 구하는 워밍업 문제.
[Programmers] #120814 - 피자 나눠 먹기 (1) [Java][C++][Python]
1. 아이디어
피자 한 판이 7조각으로 잘리고, n명이 모두 한 조각 이상 먹으려면 최소 몇 판이 필요한지 구하는 문제다. n을 7로 나눈 몫을 올림하면 되는데, 정수 나눗셈으로 올림을 구현하려면 나눌 값에 (나누는 수 - 1)을 더한 뒤 몫을 취하면 된다. 여기서는 (n + 6) / 7로 이를 처리한다.
2. 복잡도
| 접근 | 시간 | 공간 |
|---|---|---|
| 풀이 | $O(1)$ | $O(1)$ |
3. 코드
풀이 [Java][C++][Python]
1
2
3
4
5
class Solution {
public int solution(int n) {
return (n + 6) / 7;
}
}
1
2
3
4
5
6
#include <bits/stdc++.h>
using namespace std;
int solution(int n) {
return (n + 6) / 7;
}
1
2
def solution(n):
return (n + 6) // 7
This post is licensed under CC BY 4.0 by the author.