728x90
Programmers <원소들의 곱과 합> 문제
문제 설명
정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요.
제한사항 2 ≤ num_list의 길이 ≤ 10 1 ≤ num_list의 원소 ≤ 9
def solution(num_list):
num1 = 1
num2 = sum(num_list)**2
for i in num_list:
num1 *= i
return 1 if num1 < num2 else 0
num1을 0으로 초기화 하면 안 됨.
for루프에서 0부터 곱하기 때문에 아무리 곱해봤자 0이 나오기 때문.
습관적으로 숫자라고 0으로 초기화 하지 말고 1로도 생각을 해 보자. (나 말하는 거임;)
근데 이제 보니 num2를 굳이 안 써주고 return에서 바로 받아도 됐을 듯.
수정 해 보면
def solution(num_list):
num1 = 1
for i in num_list:
num1 *= i
return 1 if num1 < sum(num_list)**2 else 0
이렇게 한 줄 줄이기ㅋㅋ.
728x90
'Programming Practice > Python' 카테고리의 다른 글
프로그래머스 <마지막 두 원소> Python (0) | 2025.04.17 |
---|---|
프로그래머스 <이어 붙인 수> python (0) | 2025.04.17 |
프로그래머스 <주사위 게임2> Python (0) | 2025.04.17 |
프로그래머스 <등차수열의 특정한 항만 더하기> Python (0) | 2025.04.17 |
Programmers <코드 처리하기> Python (0) | 2025.04.17 |