백준14631 [백준 #1463] 1로 만들기(Python) https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 처음에는 이렇게 쉽지 않을 거란 걸 알면서도.. 3으로 나누어떨어지면 & 2로 나누어떨어지면 & 둘 다 안되면..으로 풀어봤던 문제다. 해당 힌트에 나와있는 것처럼 10의 경우에는 10 → 9 → 3 → 1 로 3번 만에 만들 수 있지만, 이 방법은 10 → 5 → 4 → 2 → 1 4번을 거쳐야 한다. 결국 dp로 전에 있는 결괏값을 활용해야 한다. n = int(input()) dp = [0] * (n+1) for i in range(2, n+1): dp[i] = dp[i-1] + 1 if i % 2 == .. 2023. 3. 6. 이전 1 다음