코테 문제 풀이
[프로그래머스] 약수의 개수와 덧셈 - python
미니모아
2022. 3. 28. 22:48
반응형
약수의 개수와 덧셈
문제
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ left ≤ right ≤ 1,000
풀이
def measure(num):
cnt = 1
for i in range(1, int(num // 2) + 1):
if num % i == 0:
cnt += 1
return cnt % 2 == 0
def solution(left, right):
answer = 0
for n in range(left, right + 1):
if measure(n):
answer += n
else:
answer -= n
return answer
제곱수는 약수의 개수가 홀수임을 이용할 수 있다.
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
반응형