def solution(left, right):
for i range(left, right+1):
for j range(1, i+1):
약수 판별 함수
answer += i
answer -= i
return answer
def solution(left,right):
def prime(n):
return [i for i in range(1,n+1) if n%i==0]
answer = 0
for number in range(left, right+1):
if len(prime(number)) %2==0:
answer += number
else:
answer -= number
return answer
time: 1.1920928955078125e-06
겹for문 대신 약수 구하는 함수를 짧게 넣었다!
def solution(left, right):
answer = 0
for i in range(left,right+1):
if int(i**0.5)==i**0.5:
answer -= i
else:
answer += i
return answer
if int(i**0.5)==i**0.5:
제곱근이면 answer -= i
제곱근이면 약수의 개수가 홀수 (처음 앎)