## 🔒 문제. 약수의 개수와 덧셈
def solution(left, right):
answer = 0
## key: 대상 숫자, value : 약수
num_div = {i: [] for i in range (left, right+1)}
## key: 대상 숫자, value : 약수 갯수
num_div_cnt = {i: int() for i in range (left, right+1) }
## 약수 구하기 ... 나머지 % == 0인 값들을 num_div에 저장
for i in range (left, right+1): ## 대상 숫자에 대해서 반복
for j in range (1, i+1): ## 1~대상 숫자에 대해서 반복
if i % j == 0: ## 대상 숫자 / j의 나머지가 0인 값에 대해 딕셔너리 추가
num_div[i].append(j)
## 약수 갯수 구하기 ... num_div_cnt에 저장
for i in range (left, right+1):
num_div_cnt[i] = len(num_div[i])
## 약수 갯수 홀짝 판별
for i in range (left, right+1):
if num_div_cnt[i] % 2 == 0: ## 짝수이면 +
answer += i
else: ## 홀수이면 -
answer -= i
return answer
## print(solution(13, 17))
## print(solution(24, 27))
Python/코테 연습