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

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

sundori 2024. 6. 14. 18:15

문제 설명

머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.

해결법

  • 1명이라면 피자 한 판이 필요하다. (1조각)
  • 2명이라도 피자 한 판이면 충분하다. (2조각)
  • 7명이라면 피자 한 판으로 충분하다. (7조각)
  • 8명이라면 피자 두 판이 필요하다. (8조각, 첫 번째 판에서 7조각 + 두 번째 판에서 1조각)

따라서 필요한 피자의 수는 을 7로 나눈 몫에 1을 더한 값이 된다. (만약 나머지가 있다면)

abstract class Pizza {
    private int n;
    abstract int getPizza(int n);
}

class Solution extends Pizza {
    @Override
    public int getPizza(int n) {
        // (n + 6) / 7는 n을 7로 나눈 올림값을 구하는 방법.
        return (n + 6) / 7;
    }

    public int solution(int n) {
        return getPizza(n);
    }

}

 

더 쉽게 말하자면 n을 7로 나눈 후 나머지가 있는 경우 한 판을 더 주문해야한다는 소리이다.

abstract class Pizza {
    private int n;
    abstract int getPizza(int n);
}

class Solution extends Pizza {
    @Override
    public int getPizza(int n) {
        if(n % 7 == 0){
        	return n /7;
        }else{
        	return n / 7 + 1;
        }
    }

    public int solution(int n) {
        return getPizza(n);
    }

}