본문 바로가기
Programmers (코딩 테스트 연습)

약수의 개수와 덧셈 (월간 코드 챌린지 시즌2, Level 1)

by xangmin 2022. 3. 26.
반응형

문제 설명 

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

 

제한사항

  • 1 ≤ left ≤ right ≤ 1,000

 

입출력 예

left right return
13 17 43
24 27 52

 

solution.py

def solution(left, right):
    # 약수 갯수 Count
    answer = []
    for n in range(left, right+1):
        factor = 0
        for x in range(1, n+1):
            if n % x == 0:
                factor += 1

        if factor % 2 == 1:     answer.append(-1 * n)
        else :                  answer.append(n)

    return sum(answer)

 

반응형

댓글