12851. 숨바꼭질2 (Java)

2023. 11. 28. 14:43·Algorithm & Data Structures/BOJ

오랜만에 풀어서 그런지 자잘한 오류가 너무 많았던 문제였다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.Queue;
import java.util.StringTokenizer;

public class Main {

    static int N, M, answer = 0,time=0;
    static boolean[] isVisited = new boolean[200005];
    public static void BFS() {
        Queue<Integer> q = new ArrayDeque<>();
        q.offer(N);
        boolean flag = false;
        while (!q.isEmpty()) {
            int size = q.size();
            for(int i = 0 ; i < size ; i++) {
                int recent = q.poll();
                isVisited[recent] = true;
                if(recent == M){
                    flag=true;
                    answer++;
                }
                if (recent-1>=0 && !isVisited[recent - 1])
                    q.offer(recent - 1);
                if (recent+1<=100000 && !isVisited[recent + 1])
                    q.offer(recent + 1);
                if (recent <= 100000 && !isVisited[recent * 2] )
                    q.offer(recent * 2);
            }
            if(flag)
                break;
            time++;
        }
        System.out.println(time);
        System.out.println(answer);
    }

    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        N = Integer.parseInt(st.nextToken());
        M = Integer.parseInt(st.nextToken());
        BFS();

    }
}

'Algorithm & Data Structures > BOJ' 카테고리의 다른 글

2448. 별찍기 - 11 (Java)  (0) 2023.12.13
14938. 서강그라운드 (Java)  (1) 2023.11.29
1043. 거짓말 (Java)  (0) 2023.11.15
2638. 치즈 (Java)  (1) 2023.11.14
1167. 트리의 지름 (Java)  (1) 2023.11.13
'Algorithm & Data Structures/BOJ' 카테고리의 다른 글
  • 2448. 별찍기 - 11 (Java)
  • 14938. 서강그라운드 (Java)
  • 1043. 거짓말 (Java)
  • 2638. 치즈 (Java)
Geisha
Geisha
개발 일기
  • Geisha
    Geisha
    Geisha
  • 전체
    오늘
    어제
    • 분류 전체보기 (343)
      • Algorithm & Data Structures (261)
        • BOJ (119)
        • SWEA (1)
        • Programers (137)
        • Data Structures (3)
      • DB (29)
        • SQL (23)
        • RDBMS (2)
      • Java (1)
        • Class (1)
      • Spring (5)
        • Spring MVC (1)
        • Annotations (1)
      • CS (36)
        • 운영체제 (13)
        • 네트워크 (5)
      • Tool (6)
        • Git (5)
        • AWS (1)
      • Project (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백트래킹
    SQL
    골드
    baekjoon
    programmers
    Union-Find
    프로그래머스
    동적계획법
    dp
    경로압축
    dfs
    BFS
    자바
    이분탐색
    알고리즘
    PriorityQueue
    Dijkstra
    스택
    구현
    후위순회
    백준
    algorithm
    다이나믹 프로그래밍
    Java
    투포인터
    DynamicProgramming
    binarySearch
    다익스트라
    유니온파인드
    Stack
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Geisha
12851. 숨바꼭질2 (Java)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.