극동대학교\AI컴퓨터공학과\JAVA/프로그래머스 코딩테스트 입문

[프로그래머스, 입문] 피자 나눠 먹기 (3)

sundori 2024. 6. 14. 18:34

목차

    문제 설명

    머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

     

    해결 방법

    1. 6명이 6조각으로 자른 피자를 한 조각 이상씩 먹으려면 6 / 1 = 1이므로 최소 1판이 필요.

    (6 + 6 - 1 ) / 6 = 1

    2. 8명이 4조각으로 자른 피자를 한 조각 이상 씩 먹으려면 8 / 4 = 2 이므로 최소 2판이 필요.

    (8 + 4 - 1) / 4 = 2

    3. 12명이 8조각으로 자른 피자를 한 조각 이상씩 먹으려면  12 / 8  = 1.5 이므로 올림하여 최소 2판이 필요.

    (12 + 8 - 1) / 8 = 2
    4. 15명이 7조각으로 자른 피자를 한 조각 이상 씩 먹으려면 15 / 7 = 2.14 이므로 올림하여 최소 3판이 필요.

    (15 + 7 - 1) / 7

    abstract class Pizza {
        abstract int getPizza(int slice, int n);
    }
    
    class Solution extends Pizza {
        @Override
        public int getPizza(int slice, int n) {
            // n을 slice로 나눈 값을 올림한 것이 필요한 피자의 판 수.
            return (n + slice - 1) / slice;
        }
    
        public int solution(int slice, int n) {
            return getPizza(slice, n);
        }
    }