문제 풀이
def div(x):
cnt = 0
for i in range(1, x+1):
if x % i == 0:
cnt += 1
return cnt
def solution(left, right):
a = list(range(left,right+1))
res = 0
for i in a:
if div(i)%2 == 0:
res += i
else:
res -= i
return res
- 약수의 개수를 확인하는 함수를 만들어 사용했다.
- 이때 중요한 것은 해당 범위의 list를 만들어 해당 숫자의 약수가 홀수인지 짝수인지를 구별하고 이를 이용해 +를 해줄지 -를 해줄지가 관건인 문제였다.
'문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][Lv1] - 두 개 뽑아서 더하기(파이썬/Python) (0) | 2022.07.09 |
---|---|
[프로그래머스][Lv1] - 약수의 합(파이썬/Python) (0) | 2022.07.09 |
[프로그래머스][Lv1] - 신고 결과 받기(파이썬/python) (0) | 2022.05.03 |
[프로그래머스][Lv2] - 카펫(파이썬/Python) (0) | 2022.01.21 |
[프로그래머스][Lv1] - 수식 최대화(파이썬/Python) (0) | 2022.01.01 |