카테고리 없음

[프로그래머스] 약수의 개수와 덧셈

Universe_lee 2023. 1. 9. 14:49

 

나의 풀이

def get(num):
    res = 0
    for i in range(1, int(num ** 0.5) + 1):
        if num % i == 0:
            if i == num ** 0.5:
                res += 1
            else:
                res += 2
    return res


def solution(left, right):
    answer = 0
    for i in range(left, right + 1):
        now = get(i)
        if now % 2 == 0:
            answer += i
        else:
            answer -= i
    return answer

 

남의 풀이

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

 

Key point

- 약수의 개수가 홀수인 수는 제곱수..