문제 설명
머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 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에 복합 대입 연산자를 통해 한번에 계산해주었습니다.
'프로그래머스 > Lv. 0(코딩테스트 입문)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 가장 큰 수 찾기(Java) (0) | 2023.04.09 |
---|---|
[프로그래머스 코딩테스트] 다음에 올 숫자(Java) (0) | 2023.04.02 |
[프로그래머스 코딩테스트] 약수 구하기(Java) (0) | 2023.04.02 |
[프로그래머스 코딩테스트] 인덱스 바꾸기(Java) (0) | 2023.04.02 |
[프로그래머스 코딩테스트] 대문자와 소문자(Java) (0) | 2023.04.02 |