-
https://www.acmicpc.net/problem/2583
2583번: 영역 구하기
첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오
www.acmicpc.net
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%202583
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
해당 문제는 종이의 시작 끝 좌표가 주어졌을 때 전체 map에서
종이가 없는 공간의 범위 개수와 각 범위별 크기를 출력하는 문제다.
해당 문제는 dfs를 이용하였다 보통 이런 문제들을 다 bfs로 풀어왔는데 이번에는
dfs를 이용해 보자고 생각했고, 입력 처리를 해준 뒤
배열을 처음부터 끝까지 돌면서 0이고 방문하지 않은 곳에 대해 dfs 처리를 해주며,
이때 카운트 배열을 이용해 각 범위의 개수를 증가시킬 수 있도록 하였다.
이후 sort로 카운트 배열을 정렬한 뒤 작은 값부터 출력해 주었다.
728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 3273 두 수의 합 JAVA (0) 2021.11.15 Baekjoon 11054 가장 긴 바이토닉 부분 수열 JAVA (0) 2021.11.15 Baekjoon 1309 동물원 JAVA (0) 2021.11.15 Baekjoon 5052 전화번호 목록 JAVA (0) 2021.11.15 Baekjoon 1182 부분수열의 합 JAVA (0) 2021.11.15 댓글