Post

[Programmers] #120816 - 피자 나눠 먹기 (3) [Java][C++][Python]

피자 한 판을 slice 조각으로 나눠 n명이 한 조각씩 먹기 위한 최소 피자 판수를 구하는 워밍업 문제.

[Programmers] #120816 - 피자 나눠 먹기 (3) [Java][C++][Python]

문제 링크


1. 아이디어

피자 한 판을 slice 조각으로 자를 때, n명이 모두 한 조각 이상 먹기 위해 필요한 최소 피자 판수를 구하는 문제다. nslice로 나눈 몫을 올림하면 되므로, (n + slice - 1) / slice처럼 나눌 값에 (나누는 수 - 1)을 더해 정수 나눗셈으로 올림을 구현한다.


2. 복잡도

접근시간공간
풀이$O(1)$$O(1)$

3. 코드

풀이 [Java][C++][Python]

1
2
3
4
5
class Solution {
    public int solution(int slice, int n) {
        return (n + slice - 1) / slice;
    }
}
1
2
3
4
5
6
#include <bits/stdc++.h>
using namespace std;

int solution(int slice, int n) {
    return (n + slice - 1) / slice;
}
1
2
def solution(slice, n):
    return (n + slice - 1) // slice

This post is licensed under CC BY 4.0 by the author.