정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요.
for을 쓸수도 있겠지만 reduce를 써보고싶었다.
function solution(num_list) {
let 곱 = num_list.reduce(
(acc, cur) => acc * cur)
let 합의제곱 = num_list.reduce(
(acc, cur) => acc + cur)**2
return 곱 < 합의제곱 ? 1 : 0 ;
}
근데 속도는 for문이 더 빨랐을까.
//다른사람 코드
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
}
깔끔하다... 역시 변수는 나눠서 선언하고 불러서 초기화 하는게 깔끔해보인다. 직관적이라 이해가 쉽달까.
잘 작동하는 것도 중요하지만 이해하기 쉬운 코드르 짜는게 역시 좋은것 같다.