Skip to content

Latest commit

 

History

History
47 lines (30 loc) · 2.14 KB

README_KR.md

File metadata and controls

47 lines (30 loc) · 2.14 KB

호수지도의 섬 개수 결정하기

RU | EN | FR | JP | DE | CH | KR

설명

각 셀이 물('W') 또는 육지('L')인 이차원 배열로 표현된 호수 지도가 주어지며, 이 지도에서 개별 섬의 개수를 결정하는 작업이다. 섬은 물에 둘러싸인 수평 또는 수직으로 인접한(연결된) 육지 셀 그룹으로 정의된다.

예시

예시 호수 지도:

[ ['W', 'L', 'W', 'W'], ['W', 'L', 'L', 'W'], ['W', 'W', 'L', 'W'], ['L', 'W', 'W', 'L'] ]

예상 결과: 지도에는 3개의 별도의 섬이 있다. 하나의 섬은 두 번째 열에 있는 두 인접한 'L' 셀로 이루어져 있으며, 두 번째는 세 번째 행, 세 번째 열의 한 셀로 이루어져 있으며, 세 번째는 마지막 행의 두 대각선으로 인접하지 않은 셀로 이루어져 있다.

작업

  1. 지도에서 섬의 개수를 결정하기 위해 너비 우선 탐색(BFS)을 사용하는 알고리즘을 개발한다.
  2. 방문한 셀과 확인한 셀을 표시하여 탐색 과정을 시각화한다.
  3. 탐색 과정에서 이동한 횟수(단계 수)를 센다.

알고리즘

  1. 섬 카운터 및 BFS에 대한 빈 큐를 초기화한다.
  2. 지도의 각 셀을 반복한다.
  3. 현재 셀이 육지이고 아직 방문하지 않은 경우, 섬을 탐색하기 위해 BFS를 시작한다.
  4. BFS 중에 방문한 셀을 표시하고 단계 카운터를 증가시킨다.
  5. 현재 섬의 모든 인접한 셀을 탐색할 때 BFS가 종료된다.
  6. 지도의 모든 셀에 대해 단계 3-5를 반복한다.

시각화

알고리즘 실행 중에 방문 및 확인된 셀을 시각화한다. 이는 지도에서 섬을 탐색하는 과정을 시각적으로 나타내는 데 도움이 된다.

결과

알고리즘을 완료한 후 호수 지도에서 개별 섬의 개수와 탐색 과정에서 이동한 횟수(단계 수)를 얻게된다.

라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 LICENSE 파일을 참조하십시오.