-1번: 나의 풀이
def solution(num):
ans = 1
k = n
if n == 0:
return 0
while k > 1:
if n % k == 0:
ans += k
k -= 1
return ans
- 2번: 1번 성공 후 참고한 풀이
def solution2(n):
return n + sum([i for i in range(1, n // 2 + 1) if n % i == 0])
- 3번: 확인하기!
- n 자신만 미리 더해준다면, n / 2 이하의 약수만 탐색해 더해주면 된다
'> 알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
lv1-서울에서 김서방 찾기 (python, 파이썬) (0) | 2020.10.22 |
---|---|
lv1-이상한 문자 만들기 (python, 파이썬) (0) | 2020.10.21 |
lv1-수박수박수박수박수박수? (python, 파이썬) (0) | 2020.10.21 |
*lv2-타겟 넘버 (python, 파이썬) (0) | 2020.10.20 |
lv2-전화번호 목록 (python, 파이썬) (0) | 2020.10.20 |
댓글