[프로그래머스 JavaScript] 원소들의 곱과 합 (.reduce())

옹잉·2023년 11월 5일

문제

막혔던 점

곱과 합을 어떻게 각각 계산해서 비교해야할지 좀 막막했다. 검색해보니 .reduce()라는 내장 함수가 있어 이를 활용했다.

arr.reduce((acc, cur) => { // acc: 누산 값, cur: 현재 값
	...
}, initialValue); // initialValue: 초기 설정 값

아쉬운 점

삼항연산자를 사용하는게 아직 익숙하지 않아 마지막 조건문을 너무 길게 쓴 것 같아 아쉽다. 얼른 연습해서 익숙해지도록 해야겠다.

풀이

const solution = (num_list) => {
  
    let mul = num_list.reduce((acc, cur) => {
        return acc * cur;
    }, 1);
    let sum = num_list.reduce((acc, cur) => {
        return acc + cur;
    }, 0)
  
    if(mul < (sum*sum)) {
        return 1;
    } else {
        return 0;
    }    
}

삼항연산자 적용해서 푼 풀이

const solution = (num_list) => {
  
    let mul = num_list.reduce((acc, cur) => {
        return acc * cur;
    }, 1);
    let sum = num_list.reduce((acc, cur) => {
        return acc + cur;
    }, 0)
  
     return (mul < (sum*sum)) ? 1 : 0;  
}

참고 자료

[코딩앙마] 자바스크립트 중금 강좌 #8 - 배열 메소드2(sort, reduce)
MDN - Array.prototype.reduce()

profile
틀리더라도 🌸🌈🌷예쁘게 지적해주세요💕❣️

0개의 댓글