[BOJ] 11060: 점프 점프 (JAVA)

2024. 2. 15. 00:19·코테/Algorithm
728x90
 

11060번: 점프 점프

재환이가 1×N 크기의 미로에 갇혀있다. 미로는 1×1 크기의 칸으로 이루어져 있고, 각 칸에는 정수가 하나 쓰여 있다. i번째 칸에 쓰여 있는 수를 Ai라고 했을 때, 재환이는 Ai이하만큼 오른쪽으로

www.acmicpc.net

 

헤맸던 부분 (반례)

 

1x1 미로에 갇혔을 경우, 점프를 하지 않고 도착하기 때문에 0이 출력되어야 한다.

 

이 부분을 고려하니 해결된 문제. 숨바꼭질과 비슷했다.

 

package 백준renew;

import java.io.*;
import java.util.*;

public class 실버2_11060_점프점프 {
	static int N, cnt;
	static int map[];
	static int visited[];
	public static void main(String[] args) throws Exception{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		N = Integer.parseInt(br.readLine());
		map = new int[N];
		visited = new int[N];
		
		StringTokenizer st = new StringTokenizer(br.readLine());
		for(int i=0; i<N; i++) {
			map[i] = Integer.parseInt(st.nextToken());
		}
		
		BFS();
		
		if(visited[map.length-1] == 0) {
			if(N == 1) {
				sb.append(visited[map.length-1]);
			}else {
				sb.append("-1");
			}
		}else {
			sb.append(visited[map.length-1]);
		}
		
		System.out.println(sb.toString());
		
	}
	static void BFS() {
		Queue<Integer> queue = new LinkedList<>();
		queue.add(0);
		
		while(!queue.isEmpty()){
			int now = queue.poll();
			
			int go = map[now];
			
			for(int i=0; i<go; i++) {
				int newX = now + (i+1);
				
				if(newX >= N || visited[newX] != 0) {
					continue;
				}
				
				queue.add(newX);
				visited[newX] = visited[now] + 1;
			}
		}
	}
}

 

 

728x90

'코테 > Algorithm' 카테고리의 다른 글

[BOJ] 25418: 정수 a를 k로 만들기 (JAVA)  (1) 2024.02.18
[BOJ] 2586: 보물섬 (JAVA)  (1) 2024.02.16
[BOJ] 7576: 토마토 (JAVA)  (0) 2024.02.13
[BOJ] 14716: 현수막 (JAVA)  (0) 2024.02.13
[BOJ] 1743: 음식물 피하기 (JAVA)  (1) 2024.02.11
'코테/Algorithm' 카테고리의 다른 글
  • [BOJ] 25418: 정수 a를 k로 만들기 (JAVA)
  • [BOJ] 2586: 보물섬 (JAVA)
  • [BOJ] 7576: 토마토 (JAVA)
  • [BOJ] 14716: 현수막 (JAVA)
DROPDEW
DROPDEW
💻 Developer | 기록하지 않으면 존재하지 않는다
  • DROPDEW
    제 2장 1막
    DROPDEW
  • 전체
    오늘
    어제
    • Dev (421) N
      • App·Android (1)
      • BE (44)
        • HTTP 웹 기본 지식 (8)
        • 스프링 입문 - 코드로 배우는 스프링 부트, 웹 .. (12)
        • 스프링부트와 JPA 활용 (11)
        • 스프링부트 시큐리티 & JWT (0)
        • PHP (6)
      • FE·Client (23)
        • HTML (1)
        • React (19)
        • Unity (1)
      • Data (20) N
        • AI (7)
        • Bigdata (6)
        • Database (1)
        • 빅데이터분석기사 (5) N
      • Infra (0)
      • Activity (1)
        • Education (0)
        • Intern (0)
        • 리모트 인턴십 6기 (1)
        • 구름톤 유니브 4기 (0)
        • SW교육기부단 15기 (0)
        • SK AI Dream Camp (0)
      • CS (8)
      • 취준 (13)
        • 자격증 (4)
        • 인적성·NCS (6)
        • 코테·필기·면접 후기 (3)
      • 코테 (270)
        • Algorithm (222)
        • SQL (35)
        • 정리 (13)
      • 인사이트 (27)
        • 회고 (0)
        • 금융경제뉴스 (7)
        • 금융용어·지식 (2)
        • 북마크 (7)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    시뮬레이션
    수학
    백준
    그래프탐색
    이분탐색
    누적합
    매개변수탐색
    다이나믹프로그래밍
    그래프이론
    최단경로
    너비우선탐색
    자료구조
    티스토리챌린지
    정렬
    구현
    그리디알고리즘
    오블완
    문자열
    투포인터
    브루트포스 알고리즘
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
DROPDEW
[BOJ] 11060: 점프 점프 (JAVA)
상단으로

티스토리툴바