본문 바로가기
카테고리 없음

[코딩테스트] 원소들의 곱과 합

by 박매트 2024. 1. 11.

문제 설명

정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요.

 

solution.py

def solution(num_list):
    n = 1 
    for i in num_list:
        n*=i
    if n< sum(num_list)*sum(num_list):
        return 1
    else:
        return 0

 

solution2.py

def solution(num_list):
    n = 1 
    for i in num_list:
        n*=i
    return 1 if n< sum(num_list)*sum(num_list) else 0

삼항 연산자를 사용해보았다.

 

다른 사람 풀이

 

1)

def solution(num_list):
    s=sum(num_list)**2
    m=eval('*'.join([str(n) for n in num_list]))
    return 1 if s>m else 0

 - eval 을 사용할 수도 있구나..

 - 제곱은 **2 이런식으로 표현할 수 있었지.. 라는 걸 생각

 

2)

def solution(num_list):
    mul = 1 
    for n in num_list:
        mul *= n
    return int(mul < sum(num_list) ** 2)

- true, false 값을 int로 묶어서 1 혹은 0으로 표현하다니 ...