코딩테스트 약수의 개수와 덧셈 (프로그래머스)
코딩테스트 연습에 공개된 문제는 (주)그렙이 저작권을 가지고 있습니다.
(지문 하단에 별도 저작권 표시 문제 제외)
코딩테스트 연습 문제의 지문, 테스트케이스, 풀이 등과 같은 정보는 비상업적, 비영리적 용도로 게시할 수 있습니다.
코딩테스트 정보
- 프로그래머스
- 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
댓글 남기기