728x90
반응형
1. 문제 설명
2. 풀이과정
- 입력받은 매개변수 left와 right 사이의 수들을 모두 고려해야 하므로 반복문을 사용한다. for i in range(left, right + 1)
- 약수의 개수를 저장해 줄 변수를 선언하고 초기화해 준다. count = 0
- 약수를 구하려면 1부터 자기 자신까지 나눠봐야 하므로 반복문을 사용한다. for j in range(1, i + 1)
- left와 right 사이의 수가 1부터 자기 자신까지 수 중 나눠 떨어지는 수가 있으면 if (i % j == 0)
- 약수이므로 약수의 개수를 1 증가시킨다. count += 1
- 해당 수의 약수를 모두 찾은 뒤, 약수의 개수가 짝수이면 if (count % 2 == 0)
- 해당 수를 더해준다. answer += i
- 반면에 약수의 개수가 홀수이면 else
- 해당 수를 빼준다. answer -= i
반응형
3. 소스코드
def solution(left, right):
answer = 0
for i in range(left, right + 1):
count = 0
for j in range(1, i + 1):
if (i % j == 0):
count += 1
if (count % 2 == 0):
answer += i
else:
answer -= i
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] 최댓값과 최솟값 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.02 |
---|---|
[프로그래머스] 문자열 다루기 기본 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.02 |
[프로그래머스] 부족한 금액 계산하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.02 |
[프로그래머스] 문자열 내림차순으로 배치하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.01 |
[프로그래머스] 내적 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.01 |
[프로그래머스] 수박수박수박수박수박수? - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.01 |
[프로그래머스] 가운데 글자 가져오기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.07.01 |
[프로그래머스] 제일 작은 수 제거하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.06.30 |