Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 웹프로그래밍
- 건보필기
- HTML
- 농은면접
- 수박수박수박수박수?
- 프로그래밍언어
- 공부
- 인강
- 프로그래머스
- 연결요소의개수
- 필기후기
- algorithm
- 정수내림차순으로배치하기
- 부스트코스
- 프로그래밍
- 이클립스
- 중소기업면접
- 필기
- 알고리즘
- BOJ
- 확인문제
- 백준
- CSS
- Linux
- 웹개발
- 코딩
- 한국재정정보원
- 웹
- 후기
- java
Archives
- Today
- Total
공부하는 히욤이
[BOJ] 1012. 유기농 배추 본문
BaekJoon 1012. 유기농배추
* 문제의 저작권은 BOJ 및 문제를 만든 사람에게 있습니다.
[문제 접근]
방문 여부를 체크하는 배열을 만들어서 1로만 이루어진 덩어리들을 하나씩 세기만 하면 된다
[코드]
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class Main_10122 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt(); //테스트 케이스
for (int test_case = 1; test_case <= T; test_case++) {
int M = sc.nextInt(); //가로
int N = sc.nextInt(); //세로
int K = sc.nextInt(); //배추 개수
int[][] map = new int[M][N];
boolean[][] visit = new boolean[M][N]; //방문 체크
for (int i = 0; i < K; i++) {
map[sc.nextInt()][sc.nextInt()] = 1;
}
int warm = 0;
Queue<Cord> queue = new LinkedList<>();
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
if (map[i][j] == 1 && !visit[i][j]) {
visit[i][j] = true;
queue.add(new Cord(i, j));
while (!queue.isEmpty()) {
Cord temp = queue.poll();
int[] dx = {-1, 0, 1, 0};
int[] dy = {0, -1, 0, 1};
for (int l = 0; l < 4; l++) {
int nx = temp.x + dx[l];
int ny = temp.y + dy[l];
if (nx >= 0 && nx < M && ny >=0 && ny < N) {
if (map[nx][ny] == 1 && !visit[nx][ny]) {
queue.add(new Cord(nx, ny));
visit[nx][ny] = true;
}
}
}
}
warm++;
}
}
}
System.out.println(warm);
}
}
static class Cord{
int x;
int y;
public Cord(int x, int y) {
this.x = x;
this.y = y;
}
}
}
'Algorithm > BaekJoon' 카테고리의 다른 글
[BOJ] 2667. 단지번호붙이기 (0) | 2020.04.11 |
---|---|
[BOJ] 11724. 연결 요소의 개수 (0) | 2020.04.11 |
[BOJ] 7576. 토마토 (0) | 2020.04.11 |
[BOJ] 1592. 영식이와 친구들 (0) | 2020.04.10 |
[BOJ] 6588. 골드바흐의 추측 (0) | 2020.02.13 |