본문 바로가기

2023.11.21-2024.05.31

240102 프로그래머스 피자 나눠 먹기 2

문제 설명

머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

 

입출력 예 설명

입출력 예 #1

  • 6명이 모두 같은 양을 먹기 위해 한 판을 시켜야 피자가 6조각으로 모두 한 조각씩 먹을 수 있습니다.

입출력 예 #2

  • 10명이 모두 같은 양을 먹기 위해 최소 5판을 시켜야 피자가 30조각으로 모두 세 조각씩 먹을 수 있습니다.

입출력 예 #3

  • 4명이 모두 같은 양을 먹기 위해 최소 2판을 시키면 피자가 12조각으로 모두 세 조각씩 먹을 수 있습니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
    public int solution(int n) {
       int pizzabox = 6;
        
      while(pizzabox % n != 0){
          pizzabox += 6;
      }
        return pizzabox/6;
    }
 
    }
 
 
cs

 

 

이 코드는 입력으로 주어진 n 명이 모두 같은 양의 피자를 먹기 위해 필요한 최소한의 피자 판 수를 계산하는 자바 메서드입니다.

  1. pizza 변수는 한 판의 피자에 있는 조각 수를 나타냅니다. 초기값은 6이므로 피자 한 판은 6조각입니다.
  2. while 루프는 피자의 조각 수가 n으로 나누어 떨어질 때까지 반복됩니다. 이때, pizza % n은 나머지를 나타내며, 나머지가 0이 되면 모든 사람이 같은 양의 피자를 먹을 수 있는 상태입니다.
  3. pizza 변수에 6을 더해가면서, 나머지가 0이 될 때까지 반복합니다.
  4. while 루프를 빠져나오면, 모든 사람이 같은 양의 피자를 먹을 수 있도록 필요한 피자 판의 수가 계산되어 있습니다.
  5. 최종적으로 return pizza / 6;를 통해 피자 판의 수를 반환합니다.

이 코드는 피자 판을 6조각씩 늘려가면서, 조건을 만족하는 최소한의 피자 판 수를 찾는 방식으로 동작합니다.

 

'2023.11.21-2024.05.31' 카테고리의 다른 글

240102 프로그래머스 배열의 평균값  (0) 2024.01.02
240102 프로그래머스 피자 나눠 먹기 3  (0) 2024.01.02
글씨체, 배경 색  (1) 2023.12.28
231227 HTML employees  (0) 2023.12.27
231227 HTML index  (0) 2023.12.27