프로그래머스/Python
[프로그래머스] 약수의 개수와 덧셈 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트
우당탕탕 개발자
2023. 7. 1. 12:40
728x90
반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
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
반응형