Number of Islands
https://neetcode.io/problems/count-number-of-islands
NeetCode
neetcode.io
연결되지 않고 이어지는 BFS의 갯수를 찾으면 되는 문제였다. BFS 메서드가 실행되는 횟수만 구하면 되는 기본 문제.
Max Area of Islands
NeetCode
neetcode.io
백준 그림 문제였나? 해당 문제랑 똑같다고 생각한다.
BFS를 돌면서 최대 넓이를 계속 갱신해주면 되는 기본적인 유형 문제다.
Walls And Gates
https://neetcode.io/problems/islands-and-treasure
NeetCode
neetcode.io
해당 문제는 살짝 머리를 써야했는데,
-1인 경우 방문할 수 없고, INF인 경우 방문이 가능했다. 0인 지점에서 BFS를 돌면서, 거리의 최댓값을 구하는 문제였다.
이 문제의 팁은 0인 지점이 여러개 이므로, 순차적으로 BFS를 돌리는 것이 아닌 0의 좌표를 큐에 넣은 뒤에 BFS를 돌려야 한다. 순차적으로 BFS를 돌린다면 다음 0의 좌표에서 거리 값이 덮이게 된다.
Rotting Oranges
https://neetcode.io/problems/rotting-fruit
NeetCode
neetcode.io
백준 토마토 문제랑 똑같다.
썩은 오렌지에서 BFS를 돌면서 과일을 다 썩는데 최소 일수를 구하는 문제다.
마지막에 edge case를 생각해줘야 하는데, 빈칸이 아니라 오렌지가 존재하는데 방문하지 않은 경우 -1을 리턴해줘야 한다.