프로그래머스/Lv. 0(코딩테스트 입문)

[프로그래머스 코딩테스트] 주사위의 개수(Java)

Sigfriede 2023. 4. 2. 03:03

  문제 설명

  머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주세요.

 

  제한사항

  • box의 길이는 3입니다.
  • box[0] = 상자의 가로 길이
  • box[1] = 상자의 세로 길이
  • box[2] = 상자의 높이 길이
  • 1 <= box의 원소 <= 100
  • 1 <= n <= 50
  • n <= box의 원소
  • 주사위는 상자와 평행하게 넣습니다.

 

  입출력 예

box n result
[1, 1, 1] 1 1
[10, 8, 6] 3 12

 

class Solution {
    public int solution(int[] box, int n) {
        int answer = 1;
        for (int i = 0; i < box.length; i++) {
            int div = box[i] / n;
            answer *= div;
        }
        return answer;
    }
}

  각 모서리의 길이를 정육면체인 n의 값으로 공통적으로 나눠줍니다. 부피는 가로 * 세로 * 높이로 구할 수 있으므로, answer에 복합 대입 연산자를 통해 한번에 계산해주었습니다.