본문 바로가기
코딩공부/프로그래머스 (python)

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

by CodingKwon 2022. 3. 27.

문제 링크 (Level 1)

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

 

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

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

programmers.co.kr

 

나의 코드 (Python)

def solution(left, right):
    answer = 0

    for i in range(left, right+1):
        cnt = 0
        for j in range(1, i+1):
            if i % j == 0:  # 약수의 개수
                cnt += 1
        
        if cnt % 2 == 0:    # 약수의 개수가 짝수인 경우
            answer += i
        else:   # 약수의 개수가 홀수인 경우
            answer -= i

    return answer

 

약수는 1부터 자기자신까지 나눈 나머지가 0이되는 수 입니다.

 

 

 

 

댓글