본문 바로가기
공부/알고리즘

백준 #17425 약수의 합

by silverage 2023. 8. 19.

일단 태그에 있는 '재도전'은 맞추지 못해 나중을 기약하게 된 문제들이다.
주로 이런 친구들은 시간 초과가 뜨는데, 시작한 지 얼마 되지 않아서 시간을 줄이는 법, 어떻게 다시 접근 해야 할 지 등에 대해 미숙해서 뒷전으로 미뤄두게 되었다.
나중에 다시 풀어볼 때는 정답을 맞출 수 있기를..

백준 #17427 약수의 합2와 비슷하지만, 입력값이 다른 문제였다.

'약수의 합2'에서는 숫자 하나만 입력 받지만,
'약수의 합'에서는 첫 번째 줄에 입력할 수의 개수, 그리고 두 번째 줄에 윗 줄에서 입력한 갯수만큼의 수 입력으로 진행한다.

코드

count = int(input())
sum = []

for c in range(count):
    try:
        n = int(input())
    except:
        break

    sum_n = 0

    # 약수 합 계산
    for i in range(1, n+1):
        sum_n += (n//i)*i
    sum.append(sum_n)

for num in sum:
    print(num)

이거 말고 어떻게 줄일 지 도저히 생각이 안나서 훗날의 일로 기약하게 되었다.
ㅠㅠ
시간복잡도에 대해서 다시 공부해야겠다.

'공부 > 알고리즘' 카테고리의 다른 글

백준 #6588 골드바흐의 추측  (0) 2023.08.19
백준 #2609 최대공약수와 최소공배수  (0) 2023.08.19
백준 #17427 약수의 합 2  (0) 2023.08.19
백준 #1037 약수  (0) 2023.08.19
백준 #4375 1  (0) 2023.08.19