코딩테스트/프로그래머스
[프로그래머스] 약수의 합
rlatotquf45
2024. 12. 23. 15:42
728x90
반응형
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12928#qna문제 요약
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
푼 방법
정수 i를 i*i <= n일 때 까지 증가( i <= sqrt(n))시키며 n를 i로 나눈 나머지가 0인 경우 이는 약수,
이때 약수가 제곱수가 되는 경우, n%i와 n/i이 두번 더해지기 때문에, 제곱수인경우 그 수는 한번만 더해줌 (8번 조건문)
정답 코드
def solution(n):
answer = 0
i = 1
while i*i <= n:
if n%i == 0:
answer += i
if n/i != i:
answer += n/i
i+=1
return answer
배웠던 부분
프로그래머스 Lv1부터 쭉 풀어보겠습니다
728x90
반응형