level1_원소들의 곱과 합
2024. 6. 24. 22:12ㆍ파이썬_알고리즘(코딩테스트)/level1

내가 제출한 코드
def solution(num_list):
a = 1
b = 0
for i in num_list:
a *= i
b += i
if a < (b * b):
return 1
else:
return 0
- a는 리스트의 모든 요소를 곱한 값을 저장할 변수이다.
- b는 리스트의 모든 요소를 합한 값을 저장할 변수이다.
- 리스트 num_list의 각 요소 i에 대해 반복한다.
- a *= i : 리스트의 모든 요소를 곱한 값을 a에 저장한다.
- b += i : 리스트의 모든 요소를 더한 값을 b에 저장한다.
- 만약 a가 b의 제곱(합의 제곱)보다 작다면 1을 반환하고, 그게 아니라면 0을 반환한다.
다른 사람이 제출한 코드1
def solution(num_list):
mul = 1
for n in num_listL
mul *= n
return int(mul < sum(num_lsit) ** 2)
- mul은 리스트의 모든 요소를 곱한 값을 저장할 변수이다.
- 리스트의 모든 요소를 곱한 값을 mul에 저장한다.
- return int(mul < sum(num_list) ** 2)
- sum(num_list)는 리스트의 모든 요소를 더한 값을 반환한다.
- sum(num_list) ** 2는 리스트의 모든 요소의 합을 제곱한 값을 의미한다.
- mul < sum(num_list) ** 2는 mul이 리스트 요소의 합의 제곱보다 작은지 비교한다.
- int(mul < sum(num_list) ** 2)는 이 비교의 결과 (True 또는 False)를 정수형으로 변환하여 반환한다. True는 1로, False는 0으로 변환된다.
다른 사람이 제출한 코드2
import math
def solution(num_list):
answer = 0
if math.prod(num_list) < (sum(num_list)**2):
answer = 1
return answer
- math 모듈을 임포트하여 수학 관련 함수들을 사용할 수 있게 한다.
- 변수 answer를 0으로 초기화한다.
- math.prod(num_list) : 리스트 num_list의 모든 요소를 곱한 값을 반환한다.
- (sum(num_list) ** 2) : 리스트 num_list의 모든 요소를 더한 값을 제곱한 값을 의미한다.
- if math.prod(num_list) < (sum(num_list) ** 2)는 num_list의 곱이 합의 제곱보다 작은지 비교한다.
- 만약 조건이 참이면 answer을 1로 설정한다.
- 최종적으로 조건이 참이면 1, 거짓이면 0을 반환한다.
math.prod() 메서드는 주어진 iterable에서 요소의 곱을 반환한다.
math.prod(iterable, start)
math.prod()를 찾다가 발견한 홈페이지인데...
여기... 너무좋은거..........같다.
'파이썬_알고리즘(코딩테스트) > level1' 카테고리의 다른 글
| level1_K번째수 (0) | 2024.07.01 |
|---|---|
| level1_두 개 뽑아서 더하기 (0) | 2024.06.26 |
| level1_홀짝에 따라 다른 값 반환하기 (0) | 2024.06.24 |
| level1_숫자 문자열과 단어 (0) | 2024.06.20 |
| level1_시저암호 (0) | 2024.03.05 |