Koala - 10기/기초 알고리즘 스터디

[백준/Python] 14232번 보석 도둑

Hamsss 2023. 3. 26. 14:36

https://www.acmicpc.net/problem/14232

 

14232번: 보석 도둑

희대의 도둑 효빈이는 세계 최고의 보석가게 영선상에 잠입할 계획이다. 이 영선상은 최고의 보석가게답게 최고의 보안장치를 두고 있는데, 이 보안장치를 해제하지 않는다면 보석을 여러 개

www.acmicpc.net

 

코드

from math import sqrt,ceil

k = int(input())
j = []

for i in range(2, ceil(sqrt(k))+ 1):
    while k%i == 0:
        j.append(i)
        k //= i    
       
if k != 1: j.append(k)

print(len(j))
print(*j)

 

풀이과정

우선, 문제만 봤을 땐 어떻게 풀어야 할지 잘 감이 안오고, 또 뭔가 소수로 풀어야 할 거 같은 느낌이 들지만 사실 소인수 분해 알고리즘으로 아주 간단하게 풀수 있는 문제였다. 코드도 정말 간단해서 사실 모르면 한없이 어렵지만 알고보면 정말 쉬운 문제가 아닐수 없었다.