Python/Coding Test

[Coding Test] 약수 구하기

gangee 2023. 1. 12. 15:38
728x90
반응형
  • Python에서 약수를 구하는 방식은 여러가지가 있다. 그 중 2가지 방법을 소개한다. 그리고 더 나아가 약수의 합, 약수의 개수 구하는 코드도 함께 설명한다.

1. 기본적인 방식

def divisor(n):

    answer = []

    for i in range(1, n+1):
        if  (n % i == 0):
            answer.append(i)

    return answer
  • for문으로 범위를 1부터 최댓값인 자기자신으로 설정한다.
  • if문으로 나머지가 0인 수를 구해준다.
  • append()함수로 나머지가 0인 수를 배열에 저장해준다.

2. 짝이 되는 수를 고려한 방식

  • n의 제곱근까지의 약수를 구하여 짝이되는 약수를 구하고 중복을 제거해주는 방식
def divisor(n):

    answer = []

    for i in range(1, int(n**(1/2)) +1):
        if (n % i == 0):
            answer.append(i)
            if ((i**2) != n):
                answer.append(n//i)

     return answer

3. 약수의 합, 개수 구하기

  • sum() 함수를 이용해 약수의 합 구하기
  • def divisor(n): answer = [] for i in range(1, n+1): if (n % i == 0): answer.append(i) return sum(answer)
  • 약수의 개수 구하기
  • def divisor(n): answer = [] count = 0 for i in range(1, n+1): if n % i == 0: count += 1 answer.append(i) return count
728x90
반응형