티스토리 뷰
점프 가능한 곳으로 이동가능 한 최소값을 이용하여 다이나미그 프로그래밍으로 문제를 해결한다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Arrays; | |
import java.util.Scanner; | |
/** | |
* 백준, 점프 점프, 11060 | |
* 다이나믹 프로그래밍 | |
* | |
* @author whitebeard-k | |
* | |
*/ | |
public class Problem11060 { | |
static int N; | |
static int[] A; | |
static int[] dp; | |
public static void main(String[] args) { | |
Scanner sc = new Scanner(System.in); | |
N = sc.nextInt(); | |
A = new int[N + 1]; | |
for (int i = 1; i <= N; i++) | |
A[i] = sc.nextInt(); | |
sc.close(); | |
dp = new int[N + 1]; | |
Arrays.fill(dp, Integer.MAX_VALUE); | |
// if (A[1] != 0) | |
dp[1] = 0; | |
for (int i = 1; i <= N; i++) { | |
if (dp[i] != Integer.MAX_VALUE) { | |
int jump = A[i]; | |
for (int j = 1; j <= jump; j++) { | |
if (i + j > N) | |
continue; | |
dp[i + j] = Math.min(dp[i] + 1, dp[i + j]); | |
} | |
} | |
} | |
System.out.println(dp[N] == Integer.MAX_VALUE ? -1 : dp[N]); | |
} | |
} |
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준][세그먼트트리] 6549 히스토그램에서 가장 큰 사각형 (0) | 2017.09.14 |
---|---|
[백준][DP] 5557 1학년 (0) | 2017.08.23 |
[백준] 1005 ACM Craft (0) | 2017.07.20 |
[백준][트리] 1197 최소 스패닝 트리(크루스칼 알고리즘) (0) | 2017.07.06 |
[백준] 1717 집합의 표현(유니온 파인드) (0) | 2017.07.06 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 오류
- HDFS
- AWS
- S3
- 다이나믹
- bash
- yarn
- emr
- Tez
- 정올
- java
- mysql
- Linux
- hbase
- 알고리즘
- error
- HIVE
- 파이썬
- SPARK
- build
- SQL
- Hadoop
- oozie
- 백준
- 하이브
- 하둡
- nodejs
- Python
- ubuntu
- airflow
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함