전체 글 573

숨바꼭질 2

📍 문제 설명 💡 접근 인프런 추천 문제에서 풀었던 문제인데 문제 순서대로 다시 풀어보기로 했다. 모든 경로에 대해서 방문 체크를 하지 않는다면 시간 초과 판정을 받을거다. 특정 지점에 대해서 방문 체크를 하지 않아야한다. 그 이전의 값에도 빠른 시간이 될 수 있기 때문에 바로 직점에 대해서만 체크하지 않는 것은 오류가 있다. 같은 시간에 방문했는데 똑같은 지점일 때는 그 중복된 지점들이 빠른 시간이 될수도 있으니 그대로 넣어주면 된다. 같은 시간에 방문한 곳인지 확인하기 위해서 boolean이 아닌 int로 걸린 시간을 넣어주었다. 👩‍💻 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; publ..

Algorithm/baekjoon 2022.02.19

숨바꼭질

📍 문제 설명 💡 접근 3가지의 이동 가능 위치에 따라서 이동시켜주면된다. 👩‍💻 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { static int n, m, v, e, k, answer, cnt, second; static int[] arr, dis = {-1, 1, 2}; static long[] dp; static int[][] board; static boolean[] visited; static int[] dx = {-1,1,0,0}; static int[] dy = {0,0,-1,1}; static ArrayList list; static Strin..

Algorithm/baekjoon 2022.02.19

토마토

📍 문제 설명 💡 접근 예전 강의에서 배웠던 문제 BFS의 시작지점이 여러개다. 👩‍💻 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { static int n, m, v, e, k, answer, cnt; static int[][] board; static int[] arr; static long[] dp; static boolean[][] visited; static int[] dx = {-1,1,0,0}; static int[] dy = {0,0,-1,1}; static ArrayList list = new ArrayList(); static StringBu..

Algorithm/baekjoon 2022.02.19

이분 그래프

📍 문제 설명 💡 접근 둘로 분할해야 하므로 전체 영역에 대해서 탐색해야 한다. 각 정점에서 인접한 영역 끼리는 다른 집합이라고 간주한다. 인접한 영역끼리 같은 집합에 속해있으면 이분 그래프가 아닌거다. 👩‍💻 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { static int n, m, v, e, k; static String answer; static int[][] board; static int[] arr; static long[] dp; static int[] visited; static int[] dx = {-1,1,0,0}; static int[] d..

Algorithm/baekjoon 2022.02.18

연결 요소의 개수

📍 문제 설명 💡 접근 연결 요소가 무슨 뜻인지 몰라서 개념을 찾아봤다. 돌 수 있는 만큼 최대한 돌고 카운팅 시켜주면된다. 👩‍💻 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { static int n, m, v, answer; static int[][] board; static int[] arr; static long[] dp; static boolean[] visited; static int[] dx = {-1,1,0,0}; static int[] dy = {0,0,-1,1}; static ArrayList list = new ArrayList(); sta..

Algorithm/baekjoon 2022.02.18

DFS와 BFS

📍 문제 설명 💡 접근 기초 DFS/BFS 문제 1.DFS 방문할 수 있는 지점이 여러 개여도 하나만 출력하면 되므로 출력 배열을 따로 만들어 사용안해도 된다. 2.BFS 방문 체크만해서 큐에 넣고 빼면된다. 작은 정점부터 방문해야 하므로 정렬 처리가 필요하다. 👩‍💻 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { static int n, m, v, answer; static int[][] board; static int[] arr; static long[] dp; static boolean[] visited; static int[] dx = {-1,1,0,0..

Algorithm/baekjoon 2022.02.18