프로그래머스 -소인수분해(파이썬)

박진우·2022년 11월 11일
0

알고리즘

목록 보기
82/89

💡프로그래머스 -소인수분해

◽ 문제





◽ 입력 & 출력




◽ 풀이

소인수분해 1보다 큰 자연수 소인수(소수인 인수)들만의 으로 표현하는 것을 말한다.

2부터 시작해서 2로 나누어 떨어지지 않으면 2에서 +1씩하면서 0으로 나누어 떨어지는 수를 찾으면된다.

  • 2번째 줄: 소인수를 저장할 list를 선언한다.

  • 5번째 줄: while문에서 사용할 i를 2로 선언한다.

    1보다 큰 소인수를 위해 2부터 시작한다.

  • 7번째 줄: i가 n보다 작을때까지만 반복한다. while문 안에서 i가 n보다 크거나 같게되면 while문을 빠져나온다.

  • 8번째 줄: 2부터 시작해서 i로 나누어 떨어지면 리스트에 append()해준다.

  • 10번째 줄: 나누어 떨어지면 n값n을 i로 나눈 몫으로 업데이트한다.

    n = 60 , i =2
    60 % 2 == 0 ➡️ prime_factor.append(2)
    30 % 2 == 0
    ➡️ prime_factor.append(2)
    i =2 로 안나누어 떨어지기 때문에 +1 즉 i=3
    15 % 3 == 0 ➡️ prime_factor.append(3)
    5 % 3 !=
    0 ➡️ i =3,4 로 안나누어 떨어지기 때문에 +1 즉 i=5 ➡️ prime_factor.append(5)

  • 15번째 줄: 아래의 출력 결과처럼 12 = 2의2승 * 3인데 문제에서 요구한 결과처럼 출력하기위해 중복을 제거해야한다.
  • 17번째 줄: 중복된 요소를 제거한다.

0개의 댓글