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 ___ 순으로 적는다
반응형