코딩테스트 연습(Lv0 / 042 ~ 045)- Day11 수학, 반복문

Kang.__.Mingu·2023년 1월 9일
0

코딩테스트(Lv0)

목록 보기
12/26

주사위의 개수

주사위의 개수

문제

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


function solution(box, n) {
    let sum = 1;
    let cm = box.map((cm) => sum *= Math.floor(cm/n));
    return sum;
}

합성수 찾기

합성수 찾기

문제

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


function solution(n) {
    let count = new Set()
    let arr = [];
    

    for(let i = 1; i <= n; i++){
        for(let j = 2; j < i; j++){
            if(i % j === 0){
                console.log(i, j);
                
                count.add(i);
                arr.push(i);
            }
        }
    }
    return count.size;
    // console.log(count);
    // console.log(arr);
}
// i는 10만큼 커져야됨
// j는 i의 약수

// 1과 자기자신 포함 이미 2개
// 한 개 이상의 약수가 나오면 3개 이상임
// i를 j로 나눔 => 약수 구하기
// i <= n;
// j < i; 그대신 j는 2

// Set() 객체로 중복값 제거

최댓값 만들기(1)

최댓값 만들기(1)

문제

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


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

팩토리얼

팩토리얼

문제

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

i! ≤ n


function solution(n) {
    for(let i = 1; i <= 10; i++){
        if(factorial(i) === n){
            return i;
        } else if(factorial(i) >= n){
            return i - 1;
        }
    }
}

function factorial(n){
    let sum = 1;
    for(let i = n; i >= 2; i--){
        sum *= i;
    }
    return sum;
}
    
profile
최선을 다해 꾸준히 노력하는 개발자 망고입니당 :D

0개의 댓글