[알고리즘] 약수의 개수와 덧셈

Hyunjun Kim·2024년 10월 16일

algorithm

목록 보기
5/8

문제 설명

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

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

문제 풀이

완전제곱 판별법1 : ( n ** 0.5 ) % 1

def solution(left, right):
    return sum(n if (n ** 0.5) % 1 else -n for n in range(left, right + 1))

완전제곱 판별볍2 : int(n0.5)==(n0.5)

def solution(left, right):
    return sum(-n if int(n**0.5)==(n**0.5) else n for n in range(left, right + 1))
def solution(left,right):
	answer = 0
    for i in range(left,right+1):
    	if int(i**0.5) == i ** 0.5:
        	answer -= i
        else :
        	answer +- i
	return answer
profile
Data Analytics Engineer 가 되

0개의 댓글