[백준] 2206번 벽 부수고 이동하기
벽 부수는 것을 처음에 너무 간단하게만 생각했다가 여러번 틀린 문제입니다. queue에 넣는 조건을 잘 나누지 않으면 메모리 초과가 나오기 십상이니 명확하게 구분해야만 해결할 수 있는 문제였습니다. 먼저, 현재 좌표의 방문 여부를 벽을 부순적이 있는 경우와 없는 경우로 나눠서 진행해야 합니다. 안그러면 아래 예시와 같은 경우에 -1이 나오게 됩니다. 4 4 0000 0 1 1 1 00 1 1 00 10 한번 방문해서 실패했다고 무조건 visited를 true로 바꿔주면..! 아래처럼 되버려서 실패하고 맙니다. (0,0)->(0,1)->(1,1)->(2,1)->(3,1) 경로로 이동해서 한번 실패했다면, 해당 경로는 전부 visited = true가 되버립니다. 그러면, (0,0)->(1,0)->(2,0)..