728x90
기초 알고리즘에 대해 알아보자!
Q. 주사위의 개수
문제 설명
머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 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 |
입출력 예 설명
- 입출력 예 #1
상자의 크기가 가로 1, 세로 1, 높이 1이므로 모서리의 길이가 1인 주사위는 1개 들어갈 수 있습니다. - 입출력 예 #2
상자의 크기가 가로 10, 세로 8, 높이 6이므로 모서리의 길이가 3인 주사위는 12개 들어갈 수 있습니다.
solution.js
처음 푼 풀이
function solution(box, n) {
return box[0]*box[1]*box[2]/n**3;
}
처음엔 단순히 부피/부피의 문제로 이해하고 위와 같이 문제를 풀었으나 테스트케이스 1번만 통과, 2번은 틀렸다.
function solution(box, n) {
return ~~(box[0]/n)*~~(box[1]/n)*~~(box[2]/n);
}
이에 위처럼 각 모서리마다 n을 나눠주는 식으로 쪼갰더니 통과했다.
728x90
반응형
'TIL > 알고리즘' 카테고리의 다른 글
아주 쉬운 알고리즘 - 하샤드 수 (0) | 2023.03.29 |
---|---|
아주 쉬운 알고리즘 - 직각삼각형 출력하기 (0) | 2023.03.29 |
조금 어려운 알고리즘 - 다항식 더하기 (0) | 2023.03.26 |
알아두면 좋은 알고리즘 - K번째수 (1) | 2023.03.26 |
조금 어려운 알고리즘 - 숫자 문자열과 영단어 (1) | 2023.03.20 |
댓글