[프로그래머스] 길이에 따른 연산

백승연·2024년 1월 8일
0

프로그래머스 - Lv. 0

목록 보기
51/60
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) {
    return num_list.reduce((a, b) => {
        return num_list.length >= 11 ? a + b : a * b;
    });
}

💡 다른 사람들의 풀이

# 1


2
const solution=n=>n.reduce((a,v)=>n.length>10?a+v:a*v)

# 2

function solution(num_list) {
    if(num_list.length >= 11){
        let res = 0;
        for(let i = 0; i<num_list.length; i++){
            res += num_list[i];
        }
        return res;
    }else{
        let res = 1;
        for(let i = 0; i<num_list.length; i++){
            res *= num_list[i];
        }
        return res;
    }
}



📝 모르는 내용 찾아보기

profile
공부하는 벨로그

0개의 댓글