약수의 개수와 덧셈 [Level 1] Python
문제 설명
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
제안 사항
1 ≤ left ≤ right ≤ 1,000
입출력 예
입출력 예 #1
다음 표는 13부터 17까지의 수들의 약수를 모두 나타낸 것입니다.
따라서, 13 + 14 + 15 - 16 + 17 = 43을 return 해야 합니다.
입출력 예 #2
다음 표는 24부터 27까지의 수들의 약수를 모두 나타낸 것입니다.
따라서, 24 - 25 + 26 + 27 = 52를 return 해야 합니다.
내가 쓴 코드
def solution(left, right):
answer = 0
sum_list = [0]
minus_list = [0]
sum_num = 0
cnt = 0
for i in range(left, right+1):
cnt = 0
for j in range(1, i+1):
if i % j == 0:
cnt += 1
#print(cnt)
if cnt % 2 == 0: sum_list.append(i)
else: minus_list.append(i)
answer = sum(sum_list) - sum(minus_list)
Best 코드
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
Author And Source
이 문제에 관하여(약수의 개수와 덧셈 [Level 1] Python), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@skrudfhr02/약수의-개수와-덧셈-Level-1-Python저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)