너비 우선 탐색
[BOJ/JAVA] 11060번: 점프 점프
11060번: 점프 점프https://www.acmicpc.net/problem/11060키워드i번째 칸에 쓰여 있는 수를 AiA_iAi라고 했을 때, 재환이는 AiA_iAi이하만큼 오른쪽으로 떨어진 칸으로 한 번에 점프할 수 있다.가장 오른쪽 끝으로 갈 수 없는 경우에는 -1을 출력구현private static int dp(int index, int count)현재 위치가 index이고, 뛴 횟수가 count일 때 끝까지 갈 때의 최소 점프 횟수 반환하는 메소드끝에 도달한 경우 (index == N-1)현재까지 뛴 횟수를 반환한다.캐시값이 존재하는 경우 (cache[index][count] ≠ -2)캐시값을 반환한다.갈 수 있는 경로를 탐색한다.범위는 [1, A[index]] 이다.만약 뛰는 거..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMoioz%2Fbtr3HWAfR5d%2FHknrqjhlzfeFI7FUFCQLfk%2Fimg.png)
[BOJ/JAVA] 7562번: 나이트의 이동
7562번: 나이트의 이동https://www.acmicpc.net/problem/7562키워드나이트가 한 번에 이동할 수 있는 칸은 아래와 같다.이 때 원하는 위치에 가기까지 이동 횟수를 구하라구현final static int dydx[][] 현재 위치 기준으로 나이트가 이동할 수 있는 방향(8방향)을 기록한다. private static int solution()현재 위치에서 나이트가 목적지까지 갈 때 최소 이동 횟수를 반환한다.board[][]모든 위치의 값을 -1로 초기화한다. 현재 위치 기준으로 이동할 위치(toY, toX)를 계산한다.해당 위치가 -1값이 아니라면(방문한 적이 없다면)board[toY][toX] = here.count+1 로 갱신한다. (방문 처리)갈 수 있는 경로를 큐에 추가..