백준_1167 트리의 지름 (BFS) - 트리의 지름 증명 포함
Algorithm/Algorithm 문제2024. 1. 24. 10:45백준_1167 트리의 지름 (BFS) - 트리의 지름 증명 포함

가장 긴 경로를 찾는 문제이길래, 당연하게 DFS를 사용해모든 경로를 하나하나 고려해봐야겠다고 생각했다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class BJ_1167 { static ArrayList[] arr; static boolean[] visited; static int max; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedRea..

백준_2178 미로 탐색 (BFS)
Algorithm/Algorithm 문제2024. 1. 23. 11:48백준_2178 미로 탐색 (BFS)

최단 경로, 시간 탐색 -> bfs 왜? bfs는 한 레벨씩 내려가며 탐색, 목적지 도달 시 그 경로가 곧 최종경로. dfs는 모든 경로 방문해봐야함 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class BJ_2178 { static int[] dx = {0, 0, -1, 1}; //x인덱스 이동 static int[] dy = {-1, 1, 0, 0}; //y인덱스 이동 static int[][] arr; stati..

백준_1260 DFS와BFS (DFS & BFS)
Algorithm/Algorithm 문제2024. 1. 22. 12:44백준_1260 DFS와BFS (DFS & BFS)

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class BJ_1260 { static ArrayList[] arr; static boolean[] visited; static StringBuilder dfsResult..

백준_13023 ABCDE (DFS)
Algorithm/Algorithm 문제2024. 1. 21. 17:11백준_13023 ABCDE (DFS)

분명 논리상 맞는 거 같은데, 자꾸 어디선가 틀림. 그래서 디버깅 해보고 손으로 계속 따라가다 보니까 빨간부분 코드가 있어야 풀 수 있다. 왜? import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class BJ_13023 { static ArrayList[] arr; static boolean[] visited; static int result; public static void main(String[] args) throws IOException { BufferedR..

백준_2023 신기한 소수 (DFS)
Algorithm/Algorithm 문제2024. 1. 20. 16:59백준_2023 신기한 소수 (DFS)

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BJ_2023 { static int n; static StringBuilder sb; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); sb = new StringBuilder(); n = Integer.parseInt(br.readLine()); dfs(2,1); dfs(3,1); dfs(5,1); dfs(7,1); System..

백준_11724 연결요소의 개수 (DFS)
Algorithm/Algorithm 문제2024. 1. 19. 23:45백준_11724 연결요소의 개수 (DFS)

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class BJ_11724 { static ArrayList[] arr; static boolean[] visited; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringToke..

백준_10989 수 정렬하기3 (기수정렬) - 성공(풀이 참고)
Algorithm/Algorithm 문제2024. 1. 18. 13:12백준_10989 수 정렬하기3 (기수정렬) - 성공(풀이 참고)

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BJ_10989 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int i, n; n = Integer.parseInt(br.readLine()); int[] arr = new int[n]; for(i=0; i

백준_10989 수 정렬하기 3 (기수 정렬) - 실패(메모리초과)
Algorithm/Algorithm 문제2024. 1. 18. 13:11백준_10989 수 정렬하기 3 (기수 정렬) - 실패(메모리초과)

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; public class BJ_10989 { public static void main(String[] args) throws IOException { int n, i, k, j, num, ind; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); n = Integer.parseInt(br.readLine()); Queue resultQ = new LinkedList(..

백준_1517 버블 소트 (병합정렬)
Algorithm/Algorithm 문제2024. 1. 17. 13:32백준_1517 버블 소트 (병합정렬)

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class BJ_1517 { static int[] arr, tempArr; static long result; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); arr = new int[n]; tempArr ..

백준_2751 수 정렬하기2 (풀이 참고 코드개선)
Algorithm/Algorithm 문제2024. 1. 17. 12:25백준_2751 수 정렬하기2 (풀이 참고 코드개선)

기존 코드는 분할 할때마다 새로운 int 배열 두개를 생성해서 정렬하고, 그걸 merge한 배열을 또 새로 만들어서 반환하는 형식 에서 다른 코드 참고하고 이해해서 개선했다 해당 코드는 정렬을 위한 temp 배열 외에는 다른 배열을 만들지 않고 정렬한 값을 다시 본 입력받은 배열에 저장하는 방식 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BJ_2751 { static int[] arr, tempArr; public static void main(String[] args) throws IOException { BufferedReader br = new Buffe..

image