원소들의 곱과 합

남예지·2024년 1월 21일
0

미코

목록 보기
10/37

문제

정수가 담긴 리스트 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
}

깔끔하다... 역시 변수는 나눠서 선언하고 불러서 초기화 하는게 깔끔해보인다. 직관적이라 이해가 쉽달까.
잘 작동하는 것도 중요하지만 이해하기 쉬운 코드르 짜는게 역시 좋은것 같다.

profile
총총

0개의 댓글