그래프 탐색3 [Java] 백준 7576 : 토마토 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net -1은 토마토가 없는 칸 1은 익은 토마토 0은 안 익은 토마토 일 때, 며칠이면 상자 안에 있는 토마토가 모두 익는지에 대한 문제이다. bfs를 사용해 문제를 풀면 된다. 그러기 위해서는 우선 토마토의 상태를 입력받는 코드를 작성해야 하는데, 익어있는 토마토의 xy좌표를 큐에 저장해야 한다. for (int i = 0; i < N; i++) { String[] nums = br... 코딩테스트/백준 2023. 2. 21. [Java] 백준 2538 : 영역 구하기 https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 주어진 배열을 왼쪽 위 상단이 0,0이 되도록 바꾸어 주었다. 안 바꿔주고 그냥 계산해서 해도 정답은 나오지만 그냥 내가 문제를 파악하기 편하도록 바꿨다. static void fillArr(int sx,int sy,int ex,int ey) { //좌표변환 (sx,sy,ex,ey)-> (M-sy,sx,M-ey,ex) int startY=sx; int startX=M-sy; i.. 코딩테스트/백준 2023. 2. 16. [Java] 백준 11403 : 경로 찾기 https://www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net 플로이드–워셜 문제이다. 모든 최단 경로를 구하는 알고리즘으로, 3번 중첩된 for문을 사용하기만 하면 된다. 3번 중첩시킬 때 유의할 점은 for문에서 가운데 노드가 가장 바깥에 있어야 한다. * 배열 출력할 때 공백 있게 출력해야 한다. **이중 for문으로 바로바로 출력하는 것보다 StringBuilder를 사용해서 출력하는 게 더 효율적이다. import java.io.*; public class Main { static int N.. 코딩테스트/백준 2023. 2. 15. 이전 1 다음