길이에 따른 연산

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

길이에 따른 연산Lv.0

181879

https://school.programmers.co.kr/learn/courses/30/lessons/181879?language=javascript

해설

먼저 입력된 배열의 길이를 확인하고, 배열의 길이에 따라 다른 연산을 수행합니다.

  • Name
    조건 확인
    Type
    Description

    먼저, if (num_list.length <= 10) 조건문을 사용하여 배열의 길이가 10 이하인지 확인합니다.

  • Name
    reduce
    Type
    Description

    문제 해결을 위해 가장 중요한 부분입니다.

    reduce 함수는 배열의 각 요소에 대해 주어진 함수를 실행하고, 그 결과를 누적하는 고차 함수입니다.

    • num_list.reduce((acc, cur) => acc * cur, 1)는 배열의 각 요소를 누적곱하는데, 초기값(1)으로 시작합니다.
    • num_list.reduce((acc, cur) => acc + cur, 0)는 배열의 각 요소를 누적합하는데, 초기값(0)으로 시작합니다.

배열의 길이가 10 이하일 때는 요소들의 곱을, 그렇지 않을 때는 요소들의 합을 반환합니다. 간결하고 효율적으로 수행하기 위해 reduce 함수를 사용하여 누적 곱셈 또는 누적 덧셈을 수행하고 있습니다.

길이에 따른 연산

function solution(num_list) {
    if (num_list.length <= 10) {
        return num_list.reduce((acc, cur) => acc * cur, 1);
    } else {
        return num_list.reduce((acc, cur) => acc + cur, 0);
    }
}