본문 바로가기
알고리즘/프로그래머스(Python)

[프로그래머스/Python] 약수의 갯수와 덧셈

by frog 2021. 10. 11.

[프로그래머스/Python] 약수의 갯수와 덧셈


문제

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

● 소스코드

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

풀이

  • 특별한 알고리즘은 없다.
  • left 부터 right까지 약수의 갯수를 확인하고 짝수면 더하고 홀수면 뺀다.

 

* https://programmers.co.kr/learn/courses/30/lessons/77884

 

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

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

programmers.co.kr

댓글