코딩테스트

코딩테스트

진블로그 2023. 5. 31. 22:09
다른 명언

728x90
반응형

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

function solution(box, n) {
    let answer = parseInt(box[0]/n)*parseInt(box[1]/n)*parseInt(box[2]/n);
    return answer;
}

2. 약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요.

function solution(n) {
    var answer = 0;
    for(let i=0; i<=n; i++){
        let count = 0;
        for(let j=0; j<=i; j++){
            if(i%j===0){
                count++;
            }
        }
        (count>=3)?answer++:false;
    }
    return answer;
}

3. 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.

function solution(numbers) {
    numbers.sort(function(a, b){
        return b - a;
    })
    let answer = numbers[0] * numbers[1];
    return answer;
}

4. i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.

function solution(n){
    let arr = [];
    function fac(num){
        let fc = 1;
        for(let i=1; i<=num; i++){
            fc *= i;
        }
        return fc;
    };

    for(let j=1; j<=10; j++){
        (fac(j) <= n)?arr.push(j):false
    }
    return arr[arr.length-1];
};
728x90