코딩 기초 트레이닝
원소들의 곱과 합
욱스917
2024. 8. 24. 18:00
https://school.programmers.co.kr/learn/courses/30/lessons/181929
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
정수가 담긴 리스트 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합니다.
모든 원소의 곱과 합의 제곱을 비교하는 문제입니다.
합은 다들 아시다시피 그냥 sum을 사용하면 되는데, 곱은 직접 구현해야 합니다.
반복문을 통해서 1에서 시작해서 원소들을 곱하기만 하면 됩니다.
파이썬으로 문제를 풀어보겠습니다.
# 곱셈 함수
def mul(num_list):
# 초기값 1
result = 1
# 모든 원소를 result에 곱합니다.
for num in num_list:
result *= num
# result을 반환합니다.
return result
def solution(num_list):
# 합의 제곱: sum(num_list) ** 2
# 곱: mul(num_list)
return 1 if sum(num_list) ** 2 > mul(num_list) else 0
곱셈 부분만 직접 구현하면 되는 문제입니다.