-
[백준] 1463번_1로만들기Study/알고리즘 2020. 3. 11. 14:57
문제 링크 : https://www.acmicpc.net/problem/1463
1463번: 1로 만들기
첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.
www.acmicpc.net
n = int(input()) d = [0]*(n+1) for i in range(2,n+1): d[i] = d[i-1] + 1 if i%2 == 0 and d[i] > d[i//2]+1: d[i] = d[i//2]+1 if i%3 == 0 and d[i] > d[i//3]+1: d[i] = d[i//3]+1 print(d[n])
bottom-up 방식으로 풀었다.
파이썬은 재귀를 사용하게 되는 top-down 방식으로 풀면 시간과 메모리 모두 많이 쓴다기에 dp 다시 차근차근 풀어보며 bottom-up으로 풀어나가보려 한다.
'Study > 알고리즘' 카테고리의 다른 글
[백준] 11727번_2Xn타일링2 (0) 2020.03.11 [백준] 11726번_2Xn타일링 (0) 2020.03.11 [백준] 3055번_탈출 (0) 2020.03.02 [백준] 1261번_알고스팟 (0) 2020.02.28 [백준] 13549번_숨바꼭질3 (0) 2020.02.27