Love Every Moment

〔프로그래머스/파이썬〕길이에 따른 연산 본문

PROGRAMMING::LANGUAGE/Python

〔프로그래머스/파이썬〕길이에 따른 연산

해 송 2023. 7. 6. 18:31
반응형

출처

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


 

문제

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

단, 2 ≤ num_list의 길이 ≤ 20

1 ≤ num_list의 원소 ≤ 9


 

예제

num_list	                              result
[3, 4, 5, 2, 5, 4, 6, 7, 3, 7, 2, 2, 1]	     51
[2, 3, 4, 5]	                             120

 


 

풀이(1)

from math import prod

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

- 처음엔 생으로 모든 리스트의 원소를 곱했었는데, sum() 이 모든 원소의 합을 구해주듯이 prod() 는 모든 원소의 곱을 구해준다는 것을 알게 되어 적용하였음

 

풀이(2)

def solution(num_list):
    if len(num_list) >= 11:
        answer = eval('+'.join(list(map(str, num_list))))
    else:
        answer = eval('*'.join(list(map(str, num_list))))
    return answer

- "구분자".join(리스트) 를 이용하면 리스트의 모든 문자들을 구분자와 함께 합쳐주는 것을 이용


 

노트

  • 파이썬에서 모듈을 임포트할 때는 from ___ import ___ 순으로 적는다
반응형
Comments