728x90
https://programmers.co.kr/learn/courses/30/lessons/77884
출처 : 프로그래머스
def solution(left, right):
answer = 0
for i in range(left,right+1):
cnt = 0 # 약수 개수 카운트
for j in range(1,i+1):
if i % j == 0: # 약수면
cnt += 1
if cnt % 2 == 0: # 약수 개수가 짝수면 더하고
answer += i
else: # 약수 개수가 홀수면 빼기
answer -= i
return answer
풀이
left부터 right까지 하나씩 약수의 개수를 구한다.
약수의 개수가 짝수면 answer 에 더해주고
약수의 개수가 홀수면 answer 에서 빼준다.
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 두 개 뽑아서 더하기 python (0) | 2022.04.01 |
---|---|
[프로그래머스] 3진법 뒤집기 python (0) | 2022.03.31 |
[프로그래머스] 두 정수 사이의 합 python (0) | 2022.03.26 |
[프로그래머스] 폰켓몬 python (0) | 2022.03.26 |
[프로그래머스] 실패율 python (0) | 2022.03.25 |