프로그래머스/Level_0

[프로그래머스] Lv.0 - 길이에 따른 연산.py

ro-jun 2024. 8. 21. 16:53
728x90
반응형

문제

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

제한사항

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

입출력 예시

  • 입출력 예 1
    • 리스트의 길이가 13이므로 모든 원소의 합인 51을 return합니다
  • 입출력 예 2
    • 리스트의 길이가 4이므로 모든 원소의 곱인 120을 return합니다.

코드 1

from math import prod

def solution(num_list):
    answer = 0
    if len(num_list) >= 11:
        answer = sum(num_list)
    else:
        answer = prod(num_list)
    return answer

코드 2

def solution(num_list):
    answer = 0
    defalt_num = 1
    if len(num_list) >= 11:
        for num in num_list:
            answer += num
    else:
        for num in num_list:
            defalt_num *= num
        answer = defalt_num
    return answer

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

728x90
반응형