01. 약수의 개수와 덧셈
코딩테스트 연습 > 월간 코드 챌린지 시즌2 > 약수의 개수와 덧셈
https://programmers.co.kr/learn/courses/30/lessons/77884
Input value = left, right (int)
left와 right 사이에 있는 모든 정수 중,
약수의 개수가 짝수 = +i
약수의 개수가 홀수 = -i
return sum(i)
ㆍ 1<= left <= right <= 1,000
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
# Code test
left, right = 13, 17
solution(left,right)
제곱수의 성질을 이용하면 다음과 같이 한줄 코딩이 가능하다..!
def solution(left,right):
return sum([-i if int(i ** 0.5) == i ** 0.5 else i for i in range(left, right+1)])
# Code test
left, right = 13, 17
solution(left,right)