[프로그래머스] 약수 구하기

Apic·2023년 7월 25일
0

프로그래머스

목록 보기
145/162

💡문제 설명

정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.


🚫제한사항

  • 1 ≤ n ≤ 10,000

🔢입출력 예

nresult
24[1, 2, 3, 4, 6, 8, 12, 24]
29[1, 29]

🔍입출력 예 설명

입출력 예 #1

  • 24의 약수를 오름차순으로 담은 배열 [1, 2, 3, 4, 6, 8, 12, 24]를 return합니다.

입출력 예 #2

  • 29의 약수를 오름차순으로 담은 배열 [1, 29]를 return합니다.

💻코드

def solution(n):
    result = []
    for i in range(1, n+1):
        # 약수
        if n % i == 0:
            num = int(n / i)
            # 주어진 숫자가 1인경우 제외
            if n == 1:
                return [1]
            # 약수를 다 구한 경우
            if i in result:
                print(sorted(result))
                return sorted(result)
            # [1, 3, 9] 인 경우
            elif num == i:
                result.append(num)
            # 다 못구한 경우 약수 리스트에 추가
            else:
                result.append(i)
                result.append(num)

문제 링크

profile
코딩 공부하는 사람

1개의 댓글

comment-user-thumbnail
2023년 7월 25일

개발자로서 성장하는 데 큰 도움이 된 글이었습니다. 감사합니다.

답글 달기