-
[백준] 1463 1로 만들기 #JAVA #DPAlgorithm Solving/BAEKJOON 2021. 2. 25. 23:50
[백준] 1463 1로 만들기 #JAVA #DP
코드
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[] d = new int[n+1]; Arrays.fill(d, Integer.MAX_VALUE); d[1] = 0; for (int i = 2; i <= n; i++) { //1. X가 3으로 나누어 떨어지면 3으로 나눈다. if(i%3 == 0) d[i] = Math.min(d[i], d[i/3]+1); //2. X가 2로 나누어 떨어지면 2로 나눈다. if(i%2 == 0) d[i] = Math.min(d[i], d[i/2]+1); //3. 1을 뺸다. d[i] = Math.min(d[i], d[i-1]+1); } System.out.println(d[n]); } }
풀이
- DP
잘못된 코드나 내용이 있다면 댓글을 남겨주세요. 즉시 수정하도록 하겠습니다! :)
'Algorithm Solving > BAEKJOON' 카테고리의 다른 글
[백준] 1149 RGB거리 #JAVA (0) 2021.02.27 [백준] 2579 계단 오르기 #JAVA (0) 2021.02.26 [백준] 1463 1로만들기 #JAVA #BFS (0) 2021.02.25 [백준] 2146 다리만들기 #JAVA (0) 2021.02.25 [백준] 1431 시리얼번호 #JAVA (0) 2021.02.22