https://www.acmicpc.net/problem/1463
1463번: 1로 만들기
첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.
www.acmicpc.net
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int[] memo = new int[1000001];
st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
memo[1] = 0;
for(int i = 2; i<=n; i++) {
memo[i] = memo[i-1]+1;
if(i%2==0) {
memo[i] = Math.min(memo[i], memo[i/2]+1);
}
if(i%3==0) {
memo[i] = Math.min(memo[i], memo[i/3]+1);
}
}
bw.write(memo[n]+"");
bw.close();
}
}
'백준' 카테고리의 다른 글
백준 스택 - 1874번 : 스택 수열 (0) | 2022.02.28 |
---|---|
백준 이분탐색 - 1654번 : 랜선 자르기 (0) | 2022.02.28 |
백준 동적계획법 - 2579번 : 계단 오르기 (0) | 2022.02.17 |
백준 동적계획법 - 1932번 : 정수 삼각형 (0) | 2022.02.17 |
백준 동적계획법 - 1149번 : RGB 거리 (1) | 2022.02.17 |