def divide_close(num):
for i in range(2,num+1):
if num % i == 0:
return i, num//i
def solution(n):
count = n
ans_list = []
while count != 1:
i, count = divide_close(count)
ans_list.append(i)
ans_list = set(ans_list)
ans_list = list(ans_list)
ans_list.sort()
return ans_list
divide_close함수를 통해 2부터 시작하여 가장 가깝게 나누어 떨어질 수 있는 수와 무엇으로 나누었는지 두가지를 리턴하게 하여, i는 리스트에 append하고, 몫은 업데이트시켜 1이 될때까지 while문을 통해 돌렸다.
그리고 리스트에는 중복이 가능하므로, 집합으로 자료형을 바꾸었다가 리스트로 다시 바꾸어 정렬하여 최종 answer 리턴하였다.