Programmers/프로그래머스-약수의 개수와 덧셈-python
📖 문제
🎈 풀이
- left부터 right까지 반복문이 돌도록 해주고 i가 1일 땐, 약수의 개수가 무조건 1개니까 answer에 -1하도록 처리해주었다.
- 1과 나 자신을 계산하는 것을 제외시켜주기 위해 yaksu를 2에서 시작하고 반복문의 range가 1부터 시작하도록 하였다.
- 계산을 최소화해보고 싶어서 2부터 i의제곱근까지만 약수를 찾도록 하고 찾으면 약수의 개수를 2개 더해주도록 하였다.
- 약수의 개수가 짝수면 answer에 더해주고, 홀수면 answer에 빼주었다.
💻 코드
💊 탑👍 코드
- 아.. 생각을 해보다가 제곱수만 약수의 개수가 홀수라는 규칙은 찾았는데, 적용을 이렇게 할 생각을 못했다.
- 제곱수가 아니면 제곱근에 int하면 수가 1 낮아져버리니까 int 안한 것과 같을 수가 없으므로
answer 에 더해주고, 같으면 제곱수(=약수개수 홀수)이므로 answer에 빼주었다.
✨ 실행 결과
💡 문제 출처
프로그래머스