🐍python3/Programmers

프로그래머스[코딩 기초 트레이닝]_원소들의 곱과 합

박필중 2023. 5. 26. 07:49
728x90

👾문제 설명

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

 

🚀제한사항

  • 2 ≤ num_list의 길이 ≤ 10
  • 1 ≤ num_list의 원소 ≤ 9

 

🌌입출력 예

num_list result
[3, 4, 5, 2, 1] 1
[5, 7, 8, 3] 0

입출력 예 #1

  • 모든 원소의 곱은 120, 합의 제곱은 225이므로 1을 return합니다.

입출력 예 #2

  • 모든 원소의 곱은 840, 합의 제곱은 529이므로 0을 return합니다.

 

🧑‍🚀코드

def solution(num_list):
    answer = 0
    s_um = 0
    times = 1
    for i in range(len(num_list)):
        times *= num_list[i]
        s_um += num_list[i]
        if times < s_um**2:
            answer=1
        else:
            answer=0
    return answer
더보기

🤓공부

**2는 2제곱을 한다는 의미이다.

**3은 3제곱을 하겠다는 의미이다.

 

a *= 5 의 의미는 유추가능하듯, a= a*5 이다.

따라서 5대신 변수가 들어가면 계속해서 곱해 나가겠다는 의미이다.

a /= 5 의 의미 또한, a= a/5임을 알 수 있겠다.

 

파이썬이 직관적인 덕분에 이부분도 알 수 있겠다.

a **= 2 의 의미는 계속해서 2제곱을 하겠다는 의미다. 즉 a= a**2라는 의미다.

 

 

728x90