알고리즘/백준 138

11725_트리의 부모 찾기

사용 알고리즘: dfs, bfs 사용 언어: java bfs썼을 때 시간 dfs썼을 때 시간 bfs코드 import java.util.*; public class Main_bj_11725_bfs { static int n; static boolean[] visit; static int[] parent; static ArrayList graph = new ArrayList(); public static void main(String[] args) { Scanner sc = new Scanner(System.in); n = sc.nextInt(); parent = new int[n+1]; visit = new boolean[n+1]; graph = new ArrayList(n+1); for (int i = ..

알고리즘/백준 2023.12.21

21736_헌내기는 친구가 필요해

사용 알고리즘: bfs 사용 언어: java import java.awt.*; 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_bj_21736_헌내기친구 { static int n, m, res; static int Ix, Iy; static char[][] map; static int[] dx = {1,-1,0,0}; static int[] dy = {0,0,1,-1}; public static voi..

알고리즘/백준 2023.12.19

25418_정수 a를 k로 만들기

사용 알고리즘: bfs, 메모이제이션 사용 언어: java import java.util.ArrayDeque; import java.util.Queue; import java.util.Scanner; public class Main_25418_정수a를k { static int a, k; static int[] cnt; public static void main(String[] args) { Scanner sc = new Scanner(System.in); a = sc.nextInt(); k = sc.nextInt(); cnt = new int[k+1]; bfs(a); System.out.println(cnt[k]); } private static void bfs(int a) { Queue q = new ..

알고리즘/백준 2023.12.19

10026_적록색약

사용 알고리즘: bfs 사용 언어: java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util.Arrays; import java.util.Queue; public class Main { static int[] dx = {-1,1,0,0}; static int[] dy = {0,0,-1,1}; static char[][] pic; // 입력받을 배열 static boolean[][] visited; // 방문처리 static int n; // 그림의 크기 static int normal, noRG; // 일반..

알고리즘/백준 2023.12.18

2667_단지번호붙이기

더보기 코드 작성 전, 슈도코드 static으로 받을 것: int N(지도 크기), danji=0; int dx[], dy[] (사방 탐색) int[][] map; bool[][] mapVisit; main자리: 입력받기 N 입력받기 + map[NN] + mapVisit[NN] for(i=0~N) for(j=0~N) map[i][j] = 입력값; for(i=0~N) for(j=0~N) if(map[ij]==1 이고 mapVisit[ij]==false) { danji ++; bfs(i, j); } bfs구현 (i,j)는 x좌표, y좌표 큐 q ; q.offer(x,y) /// 이때 x,y의 방문 처리하고 + 해당 단지 번호로 바꾸기를 했어야 함. (q가 비지 않을 동안) { for(d=0~4){ nx = ..

알고리즘/백준 2023.12.18