본문 바로가기
Algorithm_PYTHON

[백준_파이썬]1463번_1로 만들기

by 코리니덕 2021. 8. 28.
n = int(input())

d = [0] * (n+1)


# 이 문제 자체가 1로만들기라서 애초에 1은 연산이 0이됨
# 따라서 2번째 부터 시작해줘야 함
for i in range(2, n+1):
    # 1을 뻬고 시작하는 이유 : 다음에 계산할 나누기가 1을 뺀 값보다 작거나 큼에 따라 어차피 교체되기 때문
    d[i] = d[i-1] + 1

    if i % 3 == 0:
        d[i] = min(d[i//3]+1, d[i])
    if i % 2 == 0:
        d[i] = min(d[i//2]+1, d[i])

print(d[n])

답이 틀렸다고 나와서 뭔가 했더니 =자리에 ==을 써줘서 그랬다..

정신 차리자!