[JavaScript] Lv0 - 길이에 따른 연산

Moon·2025년 2월 1일
0
post-thumbnail

길이에 따른 연산

문제 설명

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


제한사항

  • 2 ≤ num_list의 길이 ≤ 20
  • 1 ≤ num_list의 원소 ≤ 9
  • num_list의 원소를 모두 곱했을 때 2,147,483,647를 넘는 입력은 주어지지 않습니다.

입출력 예

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) {
    if (num_list.length >= 11) {
        return num_list.reduce((sum, num) => sum + num, 0); // 리스트의 모든 원소의 합
    } else {
        return num_list.reduce((product, num) => product * num, 1); // 리스트의 모든 원소의 곱
    }
}

코드설명

  1. 조건 분기:
    • num_list.length >= 11:
      • 리스트의 길이가 11 이상인 경우, 모든 원소의 합을 계산합니다.
    • 그렇지 않은 경우, 모든 원소의 곱을 계산합니다.
  2. reduce 메서드:
    • 리스트의 원소를 순회하며 누적 연산을 수행합니다.
    • 합을 계산할 때는 초기값 0을 설정하고, 각 원소를 더해갑니다.
    • 곱을 계산할 때는 초기값 1을 설정하고, 각 원소를 곱해갑니다.
  3. 결과 반환:
    • 조건에 따라 계산된 합 또는 곱을 반환합니다.
profile
MOON.DEVLOG

0개의 댓글