코딩테스트

[코딩테스트 입문] 피자 문제 총정리

summ.n 2025. 4. 21. 15:15

피자 나눠 먹기 (1)

n명이 최소 한 조각씩 먹기 위해 필요한 피자 판 수
한 판에 7조각

class Solution {
    public int solution(int n) {
        return n % 7 == 0 ? n / 7 : n / 7 + 1;
    }
}

 

  • ✅ 나눠떨어지면 그대로, 아니면 한 판 추가
  • ✅ 삼항연산자로 간단하게 처리해서 코드 깔끔

 

피자 나눠 먹기 (2)

모두 같은 양으로, 조각이 남지 않게 나누기
피자 한 판은 6조각

class Solution {
    public int solution(int n) {
        int answer = 1;
        while ((answer * 6) % n != 0) {
            answer++;
        }
        return answer;
    }
}

 

 

  • ✅ 6조각 * 판 수가 n명에게 나눠떨어질 때까지 반복
  • ✅ % 연산 사용해서 조건 간단하게 처리

 

피자 나눠 먹기 (3)

n명에게 최소 한 조각씩 주기 위해 몇 판 필요?
피자 한 판은 slice 조각

class Solution {
    public int solution(int slice, int n) {
        int count = 1;
        while (slice * count < n) {
            count++;
        }
        return count;
    }
}

 

 

  • ✅ 직관적이고 이해 쉬움
  • ✅ while문으로 조각 수가 사람 수 이상이 될 때까지 반복