IT/Algorithm
원소들의 곱과 합 (lv.0)
HJ::
2023. 6. 8. 14:01
function solution(num_list) {
const result1 = num_list.reduce((accumulator, currentvalue) => {
return accumulator * currentvalue;
}, 1)
const result2 = num_list.reduce((accumulator, currentvalue) => {
return accumulator + currentvalue;
}, 0)
return result1 < result2 ** 2 ? 1 : 0;
}
나는 콜백 함수와 초기값을 지정해주고 그 값들의 누적 계산값을 리턴해주는 .reduce()함수를 사용하였다.
곱을 구하는 구문은 초기값 1을 줬고, 합은 0을 주었다. 계산에 영향을 주지 않는 항등원이다.
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
}
다른 분의 코드 풀이이다.
for(변수 of 리스트) {} 형태의 문법을 별로 사용하지 않았었는데 이렇게 사용하니
굉장히 코드가 단축된다는 걸 알았다.
물론 forEach 구문도 있다.