프로그래머스 / 약수의 개수와 덧셈

박성완·2022년 3월 7일
0

프로그래머스

목록 보기
15/43
post-thumbnail

Question

문제링크

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

제한사항

  • 1 ≤ left ≤ right ≤ 1,000

Input & Output

leftrightresult
131743
242752

Logic

  1. 각 숫자에 대해 루트값이 정수이면 약수의 갯수가 홀수이고 아니면 짝수이다

Code

def solution(left, right):
    import math
    return sum([((-1)*i if math.sqrt(i)%1==0 else i) for i in range(left,right+1)])

0개의 댓글