김찬양의 개발일지
25일차. 약수의 개수와 덧셈 본문
링크
https://school.programmers.co.kr/learn/courses/30/lessons/77884
문제
정답
def solution(left, right):
answer = 0
for i in range(left, right+1):
root = i**(1/2)
if root==int(root):
answer -= i
else:
answer += i
return answer
풀이과정
약수를 구하는 과정을 생각해보면, 약수는 두 수를 곱해서 어떤 수가 되므로 반드시 짝지어진다. 다만 짝지어진 두 수가 같은 수일경우엔 약수의 갯수가 홀수개가 된다. 그러므로 제곱수는 약수의 갯수가 홀수이고, 약수의 갯수가 홀수이려면 제곱수여야한다.
'코딩테스트 > Programmers Level 1' 카테고리의 다른 글
27일차. 음양 더하기 (0) | 2023.12.21 |
---|---|
26일차. 로또의 최고 순위와 최저 순위 (0) | 2023.12.20 |
24일차. 숫자 문자열과 영단어 (0) | 2023.12.18 |
23일차. 부족한 금액 계산하기 (1) | 2023.12.17 |
22일차. 없는 숫자 더하기 (0) | 2023.12.16 |