팡세영
Log sey
팡세영
전체 방문자
오늘
어제
  • 분류 전체보기 (73)
    • PS (45)
      • programmers (13)
      • 백준 (29)
    • Android (16)
    • Daily (0)
    • Kotlin (6)
    • Design Pattern (1)
    • Java (1)
    • Flutter (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • mvvm
  • ArcitecturePattern
  • 정렬
  • TestCode
  • 실버
  • CustomView
  • BFS
  • 하단네비게이션바
  • java
  • programmers #프로그래머스
  • 백준
  • 의존성 주입
  • Kotlin
  • DFS
  • 안드로이드
  • 자바
  • 완전탐색
  • programmers
  • 코틀린
  • flutter
  • 프로그래머스
  • 문자열
  • LEVEL2
  • Android
  • compose
  • 이분탐색
  • 해쉬맵
  • binding
  • 골드
  • 구현

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
팡세영

Log sey

백준 - 점프왕 쩰리 (Small) - Java
PS/백준

백준 - 점프왕 쩰리 (Small) - Java

2022. 8. 19. 06:12

 

https://www.acmicpc.net/problem/16173

 

16173번: 점프왕 쩰리 (Small)

쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로,  (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다.

www.acmicpc.net


[문제 해결]

저는 DFS를 이용한 완전 탐색으로 문제를 해결 하는데,

BFS로도 문제를 해결하실 수 있습니다.


 

[java]

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Main {

    private static int[][] map;
    private static boolean check = false;
    private static int n;

    public static void main(String[] args) throws IOException {
        input();
        dfs(0,0,n);

        if(check) System.out.println("HaruHaru");
        else System.out.println("Hing");

    }
    private static void dfs(int x, int y, int last){
        if(map[x][y] == 0) return;

        if(map[x][y] == -1){
            check = true;
            return;
        }

        // 아래
        if(x + map[x][y] >= 0 && x + map[x][y] < last)
            dfs(x + map[x][y], y,  last);

        // 오른족
        if(y + map[x][y] >= 0 && y + map[x][y] < last)
            dfs(x, y + map[x][y], last);

    }


    private static void input() throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        n = Integer.parseInt(br.readLine());
        map = new int[n][n];

        for(int i=0; i<n; i++){
            StringTokenizer st = new StringTokenizer(br.readLine());

            for(int j=0; j<n; j++) map[i][j] = Integer.parseInt(st.nextToken());
        }

    }

}

 

'PS > 백준' 카테고리의 다른 글

백준 안전영역 2468 - java  (0) 2022.08.26
알고리즘 수업 - 깊이 우선 탐색  (0) 2022.08.19
백준 알고리즘 수업 - 너비 우선 탐색 4 (24447) - Java  (0) 2022.08.01
백준 - 알고리즘 수업 (24444) - Java  (0) 2022.07.31
백준 가희와 키워드 (22233) - Java  (0) 2022.07.29
    'PS/백준' 카테고리의 다른 글
    • 백준 안전영역 2468 - java
    • 알고리즘 수업 - 깊이 우선 탐색
    • 백준 알고리즘 수업 - 너비 우선 탐색 4 (24447) - Java
    • 백준 - 알고리즘 수업 (24444) - Java
    팡세영
    팡세영
    Android, CS, PS

    티스토리툴바