본문 바로가기

코딩테스트

피자 나눠먹기 3

 

    /**
     * 머쓱이네 피자가게
     * 피자를 두조각에서 열조각까지 원하는 조각 수로 잘라준다
     * 피자 조각 수 slice, 피자를 먹는 사람의 수 n이 매개변수
     * n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇판의 피자를 시켜야 하는가?
     */

    public int solution(int slice, int n) { // n이 먹는 사람의 수, slice는 피자 조각 수
        int answer = 0;
        int pizza = 1;
        int a = 0; // 피자 조각의 수, 결과물

        while(a < n) {
            a = slice * pizza;
            if(a >= n) {
                break;
            }
            pizza++;
        }
        answer = pizza;
        /**
         * 만약 14명이 5조각으로 자른 피자를 최소한 1조각씩 먹으려면
         * 최소 3판의 피자가 필요함(15)
         * 핵심은 slice * pizza
         */

        return answer;
    }

 

while문 안에 있는 if문은 사실 while 반복문에 의해 필터링되기 때문에 빼도 상관없다

확실하게 하고 싶어서 넣어봤음

 

일종의 리팩토링 구간

'코딩테스트' 카테고리의 다른 글

옷가게 할인 받기  (0) 2026.04.07
배열의 평균값  (0) 2026.04.07
피자 나눠먹기 2  (0) 2026.03.31
피자 나눠먹기 1  (0) 2026.03.30
짝수는 시러용  (0) 2026.03.27