Computer Science/자료구조

[6.21] 프로그래머스 코딩테스트 연습 - 약수의 개수와 덧셈 (19/200)

토마토. 2021. 6. 21. 18:01

코딩테스트 연습 - 약수의 개수와 덧셈 | 프로그래머스 (programmers.co.kr)

 

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

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

programmers.co.kr

def divisor(n):
  answer = 1
  i = n//2
  while i > 0:
    if n % i == 0:
      answer += 1
    i -= 1
  return answer

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