문제 링크 (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이되는 수 입니다.
'코딩공부 > 프로그래머스 (python)' 카테고리의 다른 글
| [프로그래머스] 두 개 뽑아서 더하기 (Python) (0) | 2022.03.30 | 
|---|---|
| [프로그래머스] 3진법 뒤집기 (Python) (0) | 2022.03.30 | 
| [프로그래머스] 실패율 (Python) (0) | 2022.03.27 | 
| [프로그래머스] 체육복 (Python) (0) | 2022.03.27 | 
| [프로그래머스] 로또의 최고 순위와 최저 순위 (Python) (0) | 2022.03.23 | 
댓글