[프로그래머스] 파이썬 소인수분해

ybk·2023년 10월 3일
0

프로그래머스

목록 보기
166/236

Lv.0 소인수분해

문제 설명

소인수분해란 어떤 수를 소수들의 곱으로 표현하는 것입니다. 예를 들어 12를 소인수 분해하면 2 2 3 으로 나타낼 수 있습니다. 따라서 12의 소인수는 2와 3입니다. 자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.

입출력

코드 풀이

def solution(n):
    answer = []
    
    x = 2
    while x <= n:
        if n % x == 0:
            if x not in answer:
                answer.append(x)
            n //= x
        else:
            x += 1
    return answer
  • n을 x로 나누었을 때 나머지가 0이라면, x가 n의 소인수 중 하나이다. 따라서 x를 answer에 추가한다. 그리고 n을 x로 나눈 몫을 새로운 n 값으로 갱신한다.

출처: 프로그래머스 코딩테스트 연습

profile
개발자 준비생~

0개의 댓글