코딩테스트 연습에 공개된 문제는 (주)그렙이 저작권을 가지고 있습니다.
(지문 하단에 별도 저작권 표시 문제 제외)
코딩테스트 연습 문제의 지문, 테스트케이스, 풀이 등과 같은 정보는 비상업적, 비영리적 용도로 게시할 수 있습니다.
코딩테스트 정보
- 프로그래머스
- python
- level 1
- 점수 : 캡쳐 못함
- 문제 링크
문제
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
풀이 코드
풀이 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def solution(left, right):
answer = 0
# 약수의 개수가 짝수인 수는 더하고
# 약수의 개수가 홀수인 수는 빼고
#1 약수의 개수 구하기 (각 레, 라는 통합해도 좋고 아니어도 좋고)
#count_dev = 해당 수의 약수 개수
count_dev = 0
for i in range(left, right + 1):
for n in range(1, i + 1):
if i % n == 0:
count_dev += 1
if count_dev % 2 == 0:
answer += i
count_dev = 0
else:
answer -= i
count_dev = 0
return answer