본문 바로가기
Programming Practice/Python

프로그래머스 <원소들의 곱과 합> Python

by TAMIK 2025. 4. 17.
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