티스토리 뷰
문제 설명
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한 사항
- n은 0 이상 3000이하인 정수입니다.
💡 나의 풀이
def solution(n):
answer = 0
sum = 0
for i in range(1, n+1):
if n % i == 0:
sum += i
answer = sum
return answer
💡 더 간단하게
def solution(n):
return sum([i for i in range(1, n+1) if n % i == 0])
** for문 한줄로 쓰기
[i for i in range(1,n+1)]
**n % i == 0인 값들을 더하기 --> sum() 함수 이용
sum([i for i in range(1, n+1) if n % i == 0])
**파이썬 내장함수 - max(), min(), sum()
- max - 반복가능한 객체의 가장 큰 요소 값을 리턴
- min - 반복가능한 객체의 가장 작은 요소 값을 리턴
- sum - 반복가능한 객체의 요소 값의 합. (Default값 : 0)
💡 Example
a = [1,2,3,4,5]
b = [3,12,8,89]
print(max(a))
print(min(b))
>>5
>>3
'🐍PYTHON > 알고리즘' 카테고리의 다른 글
[Python] 프로그래머스 수박수박수박수? 파이썬 코드 (2) | 2020.08.09 |
---|---|
[Python] 프로그래머스 서울에서 김서방 찾기 파이썬 코드 (0) | 2020.08.09 |
[Python] 프로그래머스 같은 숫자는 싫어 파이썬 코드 (0) | 2020.08.09 |
[Python] 프로그래머스 문자열 내 p와 y의 개수 파이썬 코드 (0) | 2020.08.04 |
[Python] 프로그래머스 모의고사 파이썬 코드 (2) | 2020.08.04 |
댓글