코드

트리 구조

N = int(input())

if N == 1:
    print(0)
else:
    stage = []		# stage로 트리구조를 표현 
    stage.append([N])

    flag = False

    i = 0

    while (flag==False):
        temp = []
        for a in stage[i]:
            if a % 3 == 0:
                temp.append(a//3)
            if a % 2 == 0:
                temp.append(a//2)
            if a-1 not in temp:
                temp.append(a-1)

            if 1 in temp:	# 1나오는 순간 중지 시킴
                flag = True
                
        stage.append(temp)
        i += 1

    #print(stage)
    print(i)

'■코테 중요개념 > 다이나믹 프로그래밍(DP)' 카테고리의 다른 글

[백준 2193] 이친수  (0) 2020.04.30
[백준 1149] RGB거리  (0) 2020.04.30
[백준 11726] 2xn 타일링  (0) 2020.04.30
[백준 9095] 1, 2, 3 더하기  (0) 2020.04.26
[백준 9461] 파도반 수열  (0) 2020.04.26
[백준 1932] 정수 삼각형  (0) 2020.04.26