frontend/javaScript

[js / 알고리즘연습] 원소들의 곱과 합

김포레스트 2024. 9. 12. 11:03

 

문제설명

정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요.

 

 

풀이 과정

 

 reduce를 쓰

 

 

나의 풀이

function solution(num_list) {
    let square = num_list.reduce((acc, num) => {
        return acc * num;
    });
    
    let sumAndSquare = num_list.reduce((acc, crr) => {
        return acc + crr;
    });
    
    sumAndSquare = sumAndSquare**2;
    
    return square < sumAndSquare ? 1 : 0;
}

 

 

 

best 풀이

function solution(num_list) {
    let accMul = 1
    let accSum = 0
    for (const num of num_list) {
        accMul *= num
        accSum += num
    }
    return accMul < accSum ** 2 ? 1 : 0
}

 

 

reduce 대신 for문과 지수연산자를 썼다