99클럽 코테 스터디 4일차 TIL - 안전 영역 (DFS)

Hyejin·2025년 4월 3일
0

99Club

목록 보기
5/21
post-thumbnail

문제: https://www.acmicpc.net/problem/2468
알고리즘 분류: 너비 우선 탐색, 브루트포스 알고리즘, 깊이 우선 탐색, 그래프 이론, 그래프 탐색

컨디션 이슈

  • 감기에 제대로 걸려서 오늘 하루 책상에 앉아있는 게 고역이었다
  • 3시간 고민하고도 문제 해결이 어려워서 이론부터 공부하기로 했다
  • 구글링과 ai의 힘을 빌려 힌트를 얻고, 답을 완성해나갔다
  • 더 나은 개선방안이 있는 지 추후 고민하고 정리해보려고 한다

문제 요약

  • N×N 크기의 2차원 배열에 각 지점의 높이가 주어진다
  • 비가 내려 특정 높이 이하의 지점이 모두 물에 잠긴다
  • 물에 잠기지 않는 안전한 영역이란 물에 잠기지 않는 지점들이 상하좌우로 인접해 있는 지역이다
  • 다양한 강수량(비의 양)에 따라 안전한 영역의 개수가 달라질 때, 안전한 영역의 최대 개수를 구해야 한다

접근 방법

이 지역에서 가능한 모든 강수량에 대해 시뮬레이션을 해봐야 합니다.
각 시뮬레이션에서 안전한 영역의 개수를 계산하고, 그 중 최댓값을 찾습니다.
안전한 영역의 개수는 DFS나 BFS를 이용해 구할 수 있습니다.

DFS와 BFS 개념 설명

DFS(깊이 우선 탐색)

  • 그래프나 트리에서 깊이를 우선적으로 탐색하는 알고리즘
  • 한 경로를 끝까지 탐색한 후 다른 경로를 탐색
  • 주로 재귀 함수나 스택을 이용하여 구현

BFS(너비 우선 탐색)

  • 그래프나 트리에서 너비를 우선적으로 탐색하는 알고리즘
  • 시작점에서 가까운 노드부터 차례대로 탐색

참고
https://bedecked-operation-4d1.notion.site/99-4-TIL-DFS-BFS-1caeb405261e80ca84a8ecaef620f1ab

0개의 댓글