프로그래머스 1단계) 약수의 갯수와 덧셈 - python

이규락·2022년 7월 7일
0

1. 문제 요약

두 정수 left와 right가 매개변수로 주어질 때, left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성하는 문제.

문제 링크

2. 나의 풀이 및 설명

깃허브 링크

#1: left와 right 사이에 있는 정수들의 약수를 구해야 하기 때문에 range() 함수를 이용해서 범위 안의 정수들을 얻음.
#2: 약수를 구하기 위해 1부터 #1 과정에서 해당하는 정수의 절반의 값 까지 해당 숫자를 나누어야 하기 때문에 범위 안의 정수들을 얻음.
#3: #1 과정에서 해당하는 정수를 #2 과정에서 해당하는 정수로 나누었을때 나머지가 0이면 약수에 해당함. 따라서 약수의 개수를 세는 cnt 변수를 + 1 해줌.
#4: 그래고 #2의 반복문을 빠져나왔을 때, #1 과정에서 해당하는 정수, 자기 자신 또한 자신의 약수이기 때문에 cnt 변수를 + 1해줌.
#5: 약수의 갯수를 센 cnt 변수가 홀수인지 짝수인지 알아야 하기 때문에 2로 나눈 나머지를 구함. 나머지가 0이면 짝수이기 때문에 answer에 더하기, 아니라면 홀수이기 때문에 answer에 빼기 수행.

3. 다른 사람의 풀이

풀이 1: 기본적으로 생각한 방법은 같으나 약수를 구하는 과정에서 절반 값으로 했는지 전체 값으로 했는지의 차이
풀이 2: 제곱근을 이용한 풀이 방법. ⭐

profile
python을 주로 다루는 주니어 개발자 입니다.

0개의 댓글