티스토리 뷰
728x90
https://programmers.co.kr/learn/courses/30/lessons/77884
- 해설 :
left와 right가 주어질 때 left부터 right까지의 정수 중 약수의 개수가 짝수인 것은 더하고 홀수인 것은 빼서 결괏값을 반환하면 된다.
- 풀이 :
약수의 개수를 구하는 cnt 함수를 만들고 for 문의 범위를 left부터 right 까지 각 정수마다 약수의 개수를 체크한다. 이 때, 개수가 짝수면 + 홀수면 - 부호를 붙여서 sum함수로 최종 덧셈하였다.
1
2
3
4
5
6
7
8
9
10
|
def cnt(i):
c = 0
for j in range(1,i+1):
if i%j == 0:
c += 1
return c
def solution(left, right):
return sum(i if (cnt(i)%2) == 0 else -i for i in range(left,right+1))
|
cs |
320x100
'Algorithm > Math' 카테고리의 다른 글
(Python) - 프로그래머스 : 예상 대진표 (0) | 2022.01.20 |
---|---|
(Python) - 프로그래머스 : 3진법 뒤집기 (0) | 2022.01.19 |
(Python) - 프로그래머스 : 폰켓몬 (0) | 2022.01.18 |
(Python) - 프로그래머스 : 124나라의 숫자 (0) | 2022.01.17 |
(Python) - 프로그래머스 : 소수 만들기 (0) | 2022.01.17 |
댓글
© 2022 WonSeok, All rights reserved