⌨️ 프로그래머스/코딩테스트 입문

[프로그래머스] 주사위의 개수 🎲 | JS

하나둘세현 2024. 7. 13. 18:19
728x90

문제

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

해결 과정

function solution(box, n) {
    let answer = 1;
    for (let i = 0; i < box.length; i++) { 
        answer *= Math.floor(box[i] / n); 
    }
    return answer;
}

 

let answer에 1을 작성한 이유는 0을 작성하면 for문안에서 계속 0이 나오기 때문이다.

for문에서 i는 0부터 시작해 box.length의 길이 만큼 반복한뒤 종료한다.

answer에 구하고자하는 수를 곱해줘서 return을 했다.

Math.floor를 사용한 이유는 나누는 값을 정수로 만들기 위해서 사용했다.

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math/floor

 

Math.floor() - JavaScript | MDN

Math.floor() 함수는 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환합니다.

developer.mozilla.org

 

 

 

728x90