[프로그래머스](python) 약수의 합

문제


내 풀이

def solution(n):
   return sum([i for i in range(1,n+1) if n%i==0])

+++

작성한 알고리즘

n = int(input())
divisor = []
for i in range(1, n+1):
    if n%i == 0:
        divisor.append(i)

약수: 어떤 수나 식을 나누어 나머지가 없이 떨어지는 수
1부터 n까지 돌려 n을 나누어 떨어지게 하는 값들 만을 저장


+++

  • divisor 리스트 변수를 미리 할당하는 대신 리스트 바로 받아 sum

+++

ZeroDivisionError: integer division or modulo by zero
  • for i in range(n) 으로 처음에 만들었을 때 나온 오류
    어떤 값을 0으로 나누려 할 때 생긴다.
    range(1,n+1)로 수정해 해결하였다.

좋은 웹페이지 즐겨찾기