알고리즘/연습문제
[프로그래머스] 약수의 합 - 파이썬
의탕
2020. 11. 11. 10:46
문제
programmers.co.kr/learn/courses/30/lessons/12928
코딩테스트 연습 - 약수의 합
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수
programmers.co.kr
문제설명
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한 사항
- n은 0 이상 3000이하인 정수입니다.
입출력 예
n | return |
12 | 28 |
5 | 6 |
접근
약수란 정수 A를 나눴을때 나누어 떨어지는 수들의 집합이다.
예를 들면 10의 약수는 : 1,2,5,10 인 것을 알 수 있다
위 내용을 토대로 코드를 작성하면 간단하게 풀수있다.
풀이
def solution(n):
answer = 0
if n==1: return 1 #n이 1이면 1리턴
for i in range(1, n+1): # 1에서 n까지 반복
if n%i==0: answer+=i # n 이 i로 나눠떨어지면 answer에 더해줌
return answer
마침
질문이 있다면 댓글로 문의바랍니다~