11/3 약수의 개수와 덧
https://school.programmers.co.kr/learn/courses/30/lessons/77884
내 풀이.
def count_factor(num) :
if num == 1 : return 1
answer = 2
for i in range(2, num) :
if num % i == 0 :
answer += 1
return answer
def solution(left, right):
answer = 0
for num in range(left, right + 1) :
if count_factor(num) % 2 == 0 :
answer += num
else :
answer -= num
return answer
다른 사람의 풀이
def solution(left, right) :
answer = 0
for num in range(left, right + 1) :
if int(num ** 0.5) == num ** 0.5 :
answer -= num
else :
answer += num
return answer
제곱수의 약수의 개수는 홀수라는 사실을 이용한 풀이이다.
명색이 수학과인데 떠올리지 못했다니.. 틈틈이 정수론 공부 해야겠다..
댓글남기기