알고리즘/프로그래머스

[프로그래머스] Level1, 약수의 개수와 덧셈 (Python)

wookcode 2021. 6. 25. 13:04
728x90
반응형

문제

https://programmers.co.kr/learn/courses/30/lessons/77884?language=python3 

 

코딩테스트 연습 - 약수의 개수와 덧셈

두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주

programmers.co.kr

 

코드

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

약수의 개수를 구한다음에 약수의 개수가 짝수일 경우에는 answer에 더해주고 홀수일 경우에는 answer에 빼주면된다.

반응형