Programmers/프로그래머스-약수의 개수와 덧셈-python

Ne5s·2022년 8월 26일
0

알고리즘 문제풀기

목록 보기
20/31
post-thumbnail
post-custom-banner

📖 문제

🎈 풀이

  • left부터 right까지 반복문이 돌도록 해주고 i가 1일 땐, 약수의 개수가 무조건 1개니까 answer에 -1하도록 처리해주었다.
  • 1과 나 자신을 계산하는 것을 제외시켜주기 위해 yaksu를 2에서 시작하고 반복문의 range가 1부터 시작하도록 하였다.
  • 계산을 최소화해보고 싶어서 2부터 i의제곱근까지만 약수를 찾도록 하고 찾으면 약수의 개수를 2개 더해주도록 하였다.
  • 약수의 개수가 짝수면 answer에 더해주고, 홀수면 answer에 빼주었다.

💻 코드

💊 탑👍 코드

  • 아.. 생각을 해보다가 제곱수만 약수의 개수가 홀수라는 규칙은 찾았는데, 적용을 이렇게 할 생각을 못했다.
  • 제곱수가 아니면 제곱근에 int하면 수가 1 낮아져버리니까 int 안한 것과 같을 수가 없으므로
    answer 에 더해주고, 같으면 제곱수(=약수개수 홀수)이므로 answer에 빼주었다.

✨ 실행 결과

💡 문제 출처

프로그래머스

profile
초보개발자
post-custom-banner

0개의 댓글