본문 바로가기

~2023/프로그래머스

프로그래머스 '약수의 합' 문제풀이(PYTHON) - Henry's Algorithm

반응형

 

안녕하세요 Henry입니다~

 

오늘도 코딩테스트 문제를 한 문제 풀어보았습니다.

프로그래머스의 Level 1 문제인데요,

 

약수의 합을 구하는 문제입니다.

문제를 풀면서 가장 중요했던 부분은, 약수인지 여부를 탐색하는 기준으로 

해당 index 값의 제곱값이 대상 정수를 넘지 않는 범위에서만 확인을 해주어야 한다는 것입니다.

 

아래는 제가 문제를 푼 코드입니다.

def solution(n):
    answer = 0
    current_number = 1
    while current_number*current_number < n:
        if n%current_number == 0:
            answer += current_number
            answer += n/current_number
        current_number += 1
            
    if current_number*current_number == n:
        answer += current_number
    return answer

 

아래는 문제 풀이 영상입니다.

https://youtu.be/9dd8TBquTxk

 

반응형