말랑한 하루

[Programmers] 최고의 집합 (Lv 3, JavaScript) 본문

문제풀이/Programmers

[Programmers] 최고의 집합 (Lv 3, JavaScript)

지수는말랑이 2022. 12. 9. 19:26
반응형

[ 개요 ]
어느 숫자를 만들기 위한 요소들 중, 요소의 곱이 가장 큰 경우는 언제나 제곱근이다.

ex) 16을 만들기 위한 숫자 중, 요소의 곱의 범위는 1*16 ~ 8*8 이 된다.


[ 소스 코드 ]

function solution(n, s) {
    let answer = [];
    let quotient = parseInt(s/n);
    let remainder = s%n;
    for(let i=0; i<n; i++) {
        answer.push(quotient);
    }
    let index = 0;
    while(remainder--) {
        answer[index]++;
        index = index + 1 < answer.length ? index + 1 : 0;
    }
    return answer.includes(0) ? [-1] : answer.sort();
}







반응형
Comments