너비우선 탐색4 [Java] 백준 7569 : 토마토 https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 이 문제는 7576번 토마토문제와 같은 방식으로 풀면 되는 문제이다. 이전 문제와 차이점은 2차원에서 3차원으로 늘어났다는 것이다. 어렵지 않다. 첫 번째로 할 일은 3차원의 배열을 입력받는 것이다. 두 번째로는 입력받은 토마토 배열을 가지고 토마토가 익어 있을 경우를 판단하는 것이다. 보통 너비우선 탐색을 진행하면 차근차근 처음부터 탐색해 가면서 큐를 사용하여 탐색을 하지.. 코딩테스트/백준 2023. 2. 27. [Java] 백준 10026 : 적록색약 https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 적록색약이 봤을 때와 아닌 사람이 봤을 때 각각 이렇게 보인다. 적록색약이 아닐 때 너비우선 탐색을 우선 해주고, 완료한 다음 입력받은 배열의 G값을 R값으로 바꾸어 주고 너비우선 탐색을 진행하면 된다. import java.io.*; import java.util.*; public class Main { static int num; static String[][] arr; static b.. 코딩테스트/백준 2023. 2. 24. [Java] 백준 7526 : 나이트의 이동 https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net import java.util.*; public class Main { static class Point{ int x,y; Point(int x,int y){ this.x=x; this.y=y; } }//class Point static int[][] arr; static boolean[][] visit; static int T,N; //나이트가 움직일 수 있는 방향 static int[] dx =.. 코딩테스트/백준 2023. 2. 10. 백준 1260 : DFS와 BFS _자바 Java https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net import java.io.*; import java.util.*; public class Main { static int[][] arr; static boolean[] check; static Queue qu = new LinkedList(); static StringBuilder sb = new StringBuilder(); public static voi.. 코딩테스트/백준 2023. 1. 20. 이전 1 다음