Level 1. 약수의 개수와 덧셈

Pear_Mh·2021년 6월 16일
0

Programmers-Level 1.

목록 보기
1/49

01. 약수의 개수와 덧셈

코딩테스트 연습 > 월간 코드 챌린지 시즌2 > 약수의 개수와 덧셈
https://programmers.co.kr/learn/courses/30/lessons/77884

문제 정리

Input value = left, right (int)

left와 right 사이에 있는 모든 정수 중,

  1. 약수의 개수가 짝수 = +i

  2. 약수의 개수가 홀수 = -i

return sum(i)

제한 조건

ㆍ 1<= left <= right <= 1,000

풀이 방법

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

# Code test
left, right = 13, 17
solution(left,right)

한줄 프로그래밍

제곱수의 성질을 이용하면 다음과 같이 한줄 코딩이 가능하다..!

def solution(left,right):
    return sum([-i if int(i ** 0.5) == i ** 0.5 else i for i in range(left, right+1)])

# Code test
left, right = 13, 17
solution(left,right)
profile
Beyond the new era.

0개의 댓글