[백준] 7576 토마토 🍅
7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 블로그 글을 쓴 이유는 다른 그래프 문제에서는 문제가 되지 않던 시간 초과가 발생해서이다. 기존에는 swift Array를 큐로 사용하여 pop할 때 removeFirst()를 사용해도 시간 초과가 되지 않았다. 해결법은 큐를 팝하면서 순회하지 않고, head 변수를 두어서 queue[head]의 값을 가져오도록 해야 한다. 문제 해설 1. 그래프를 이용한 최단 거리를 구하는 문제이니 BFS로 접근 2. 상자에서 토마토의 위치를 기록 3. BFS..
2022.04.14