본문 바로가기

알고리즘 & 코딩테스트/코딩테스트

Programmers Lv1. "약수의 합"

Programmers Lv1. 약수의 합, 연습문제, 정답률 87%

프로그래머스 Lv.1 "약수의 합"이다.
약수!! 단일문제로도 자주 나오고, 이를 문제 내 부분적인 것으로도 자주 응용된다.
이 문제는 크게 2가지 부분으로 나눌 수 있다.

  1. 주어진 n의 약수를 구한다.
  2. 구한 약수의 총합을 반환한다.

심플하군! 정말 쉽다. 그럼에도 한번 정리는 할 필요가 있으니 요거는 알고리즘쪽에 다시 깔끔하게 정리하도록 하겠다.

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

일종의 Brute Force라고 봐도 무방한듯 하다!