[20251026] BOJ / G1 / 다리 만들기 2 / 이준희 #1233
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🧷 문제 링크
https://www.acmicpc.net/problem/17472
🧭 풀이 시간
60분+
👀 체감 난이도
✏️ 문제 설명
0은 바다 1은 섬으로 표현된 지도를 받았을 때 모든 섬을 지날 수 있는 다리를 만드는 경우의 다리길이의 최소값을 구하는 문제입니다.
🔍 풀이 방법
풀이과정이 3단계로 나뉘어져 있습니다.
우선 0과 1로 표현된 지도를 각 섬에 번호를 매겨서 각각 다른 섬으로 인식할 수 있게 만들었습니다.
다음으로 BFS를 이용해서 지도를 돌면서 각 섬에서 다른 섬으로 갈 수 있는 다리를 찾았습니다. 이 다리들을 간선으로 하는 인접리스트를 만들었습니다.
마지막으로 위에서 구한 인접리스트를 union find를 이용하여 최소 스패닝 트리를 구해줬습니다.
⏳ 회고
뭔가 구현 느낌 나면서 머리도 써야하는 문제였던 것 같습니다.