최단 경로(Shortest Path) 알고리즘 - 다익스트라(Dijkstra) - 벨만-포드(Bellman-Ford) - 플로이드-와샬(Floyd-Warshall) 다익스트라(Dijkstra) 알고리즘이란? 다익스트라 알고리즘은 최단경로(Shortest Path) 알고리즘 중의 하나입니다. 더 정확히는, 그래프의 한 정점에서 다른 정점들까지의 최단 거리를 구하는 알고리즘입니다. 다만, 가중치의 값이 음수인 간선이 존재하는 경우에는 다익스트라 알고리즘을 사용할 수 없습니다. (이 경우에는 벨만-포드 알고리즘을 사용해야 합니다.) 즉, 다익스트라 알고리즘은 간선의 가중치가 모두 0 또는 양수인 경우에만 사용 가능합니다. 다익스트라 알고리즘의 로직은 다음과 같습니다. 1. 출발 정점을 설정한다. 2. 출발 정..
개요 문자열을 split하는 방법에는 수많은 방법이 존재하겠지만, 내가 사용할 방법에 대해 정리해놓기 위한 글이다. 나는 istringstream를 적절히 사용할 예정이다. 두 함수는 #include 헤더를 포함시켜야 한다. isstringstream : 문자열을 parsing하기 위함 isstringstream 1. 가장 기본적인 사용 방법 Defalut로, istringstream은 공백(' ')을 기준으로 split(쪼갬) getline의 인자에 ','를 넣어주면 콤마(,)를 기준으로 split도 가능함 -> 즉, 공백 이외에도 다양한 구분자를 사용할 수 있음 #include #include #include using namespace std; int main(void) { ios_base::syn..