BFS

코딩 테스트

(Java) 프로그래머스 - 배달

문제를 읽고 최단거리를 탐색하는 내용이기에 BFS로 해결할 수 있을줄 알았는데 많은 어려움을 겪었다. BFS 코드를 작성하다가 검색을 통해 힌트를 얻었고 다익스트라나 플로이드 와샬을 사용할 수 있다는 것을 알아서 모든 방법으로 풀어봤다. 다익스트라와 플로이드 와샬은 처음 배우는 알고리즘이여서 어려웠다. 이 문제는 하나의 정점에서 다른 정점들의 최단 거리임으로 다익스트라로 접근하는것이 가장 맞는것 같다. 다익스트라와 플로이드 와샬을 모른다면 잘 정리해놓은 다른분의 블로그를 첨부한다. [알고리즘/ 그래프] 다익스트라(Dijkstra) vs 플로이드 와샬(Floyd Warshall) (JAVA) 다익스트라(Dijkstra) vs 플로이드 와샬(Floyd Warshall) Dijkstra 알고리즘은 하나의 정점..

코딩 테스트

(Java) 프로그래머스 - 게임 맵 최단거리

문제를 보고 처음에 아주 신이 났었다. 딱히 생각하지 않고 바로 풀 수 있는 BFS문제였기 때문이다. 문제를 제대로 읽지 않고 10분도 안돼서 코드 작성을 마쳤고 테스트를 돌리는데 몇 개의 케이스를 제외하고서 모두 틀렸고 심지어 런타임 에러도 났다. 30분 넘게 고민을 해도 답이 나오지 않았고 1시간이 다 돼서야 n과 m의 크기가 가변적이라는 걸 발견했다. 문제 예시에서 5X5 배열만을 이야기해서 모든 변수를 5로 고정하고 풀었으니 당연히 틀릴만했던 거다. 저번에도 이런 경우가 꽤 있었는데 오늘은 정말 허탈했다.... 문제를 제대로 읽자.... 최종 코드 import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; class ..

로승리
'BFS' 태그의 글 목록