JSITCLUB

파이썬 - 프로그래머스 - 약수의 합 본문

파이썬/문제풀이

파이썬 - 프로그래머스 - 약수의 합

jsitclub 2020. 7. 23. 22:34

프로그래머스 level 1

문제 설명

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.

제한 사항

  • n은 0 이상 3000이하인 정수입니다.

입출력 예

n

return

12

28

5

6

입출력 예 설명

입출력 예 #1
12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.

입출력 예 #2
5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다.

 

 

코딩테스트 연습 - 약수의 합

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수

programmers.co.kr

 

 

풀이 및 코드

문제 요약

약수의 합 구하기

 

문제 설명

이 문제역시 결과를 하나씩 구하면서 총합을 구하는 문제군요.

지난번에 자릿수의 합을 구할때 변수를 하나 만들어 조건에 맞을 때마다 변수에 누적하는 것을 알려 드렸습니다.(참조1)

 

이 문제 도 그 문제와 똑같습니다. 단지 이번에는 약수인것들만 더하는 것이죠.

그럼 약수 구하는 법을 알아야겠죠. 약수 구하는 법도 기초연습 문제에서 이미 연습했습니다.(참조2)

앞에서 다룬 내요이 계속 반복 되니 이전 문제들을 한번 통과했다고 만족하지 말고, 익숙해질 때까지 자꾸 풀어보시기 바랍니다.

 

결과코드

 

def solution(n):
    answer = 0
    for i in range(n):
        if n% (i+1) == 0:
            answer += (i+1)
    return answer

 

참조

https://jsitclub.tistory.com/59

 

[프로그래머스] 레벨1 : 자릿수 더하기 - 파이썬

문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를 들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의..

jsitclub.tistory.com

https://jsitclub.tistory.com/41

 

파이썬 독학#18 _ 이제 한번 풀어볼까? - 기초 연습문제

문법을 막 마치고 배운 문법을 사용해보는 비교적 쉬운 문제들을 올립니다. 될수 있으면 풀이를 보지말고, 혼자 고민해서 풀어보세요 (풀다 문법이 생각이 안나면 필요한 문법은 찾아 봐도 됩니

jsitclub.tistory.com

 

Comments