🗃️javascript/프로그래머스

길이에 따른 연산(LV.0)[reduce((현재값, 누적공간, 인덱스)=> 식, 초기값)]

하얀성 2023. 6. 10. 14:55

<문제>

정수가 담긴 리스트 num_list가 주어질 때, 리스트의 길이가 11 이상이면 리스트에 있는 모든 원소의 합을 10 이하이면 모든 원소의 곱을 return하도록 solution 함수를 완성해주세요.


제한사항
  • 2 ≤ num_list의 길이 ≤ 20
  • 1 ≤ num_list의 원소 ≤ 9

입출력 예num_listresult
[3, 4, 5, 2, 5, 4, 6, 7, 3, 7, 2, 2, 1] 51
[2, 3, 4, 5] 120

입출력 예 설명

입출력 예 #1

  • 리스트의 길이가 13이므로 모든 원소의 합인 51을 return합니다.

입출력 예 #2

  • 리스트의 길이가 4이므로 모든 원소의 곱인 120을 return합니다.

<제출답안>

function solution(num_list) {
    let answer = num_list.length >= 11 ? num_list.reduce((x,a)=> a += x,0) 
    : num_list.reduce((x,a)=> a *=x);
    return answer;
}

reduce((a,c) 식,초기값) 을 통해서 값을 구함.