
곱과 합을 어떻게 각각 계산해서 비교해야할지 좀 막막했다. 검색해보니 .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()