코드와이
[BAEKJOON] 1463. 1로 만들기(DP) 본문
dp
문제링크
1463번: 1로 만들기
첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.
www.acmicpc.net
package acmicpc.Silver3;
import java.util.Scanner;
// dp
public class ㅁ1로_만들기_2nd {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n+1];
for(int i = 2; i <= n ; i++) {
int x = i % 2 == 0 ? (i / 2 == 1 ? 1 : arr[i / 2] + 1) : 98765321;
int y = i % 3 == 0 ? (i / 3 == 1 ? 1 : arr[i / 3] + 1) : 98765321;
int z = i - 1 == 1 ? 1 : (arr[i - 1] + 1);
arr[i] = Math.min(x, Math.min(y, z));
}
System.out.println(arr[n]);
}
}
'acmicpc' 카테고리의 다른 글
[BAEKJOON] 1149. RGB 거리 (0) | 2021.03.23 |
---|---|
[BAEKJOON] 12852. 1로 만들기2 (0) | 2021.03.23 |
[BAEKJOON] 12865. 평범한 배낭 (0) | 2021.03.23 |
[BAEKJOON] 2178. 미로 탐색 (0) | 2021.03.21 |
[BAEKJOON] 17135. 캐슬 디펜스 (0) | 2021.03.17 |