title: "[프로그래머스] 약수의 개수와 덧셈 Python 파이썬 해설 (Level 1) - 이도훈"
cleanUrl: "programmers/77884"
description: "프로그래머스 Level 1 문제 [약수의 개수와 덧셈]의 풀이를 정리합니다."

문제 설명 및 제한사항

문제 설명

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

제한사항

아이디어 및 해결 방법

코드

def num_divisor(n):
    return len([x for x in range(1, n+1) if n % x == 0])

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

출처

프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges