C++ 2

코딩테스트에서 자주 쓰는 C++ STL 라이브러리, 자료구조, 알고리즘 정리(2) - 다익스트라(Dijkstra)

DijkstraDijkstra는 비용이 있는 그래프에서 최단 거리를 찾는 알고리즘이다.최단 거리와 관련된 그래프 알고리즘에는 대표적으로 다음의 3개의 알고리즘도 존재한다.다익스트라 알고리즘 : 하나의 시작점에 대해 다른 모든 정점들까지의 최단 경로를 구함벨만포드 알고리즘 : 음의 가중치 고려플로이드 와샬 알고리즘 : 모든 정점에 대해 다른 모든 정점에 대한 최단경로를 구함이 중 기본이 되는 다익스트라 알고리즘을 정리해보았다.참고자료 관련 문제백준 1753번 최단경로SWEA 1249 보급로기본 개념다익스트라 알고리즘은 하나의 시작점에 대해 최단 경로를 찾는다.다시 말해 A에서 시작하면 B,C,D,E,F에 대한 최단 경로를 구한다는 것이다.음의 가중치는 고려하지 않는다.(음의 가중치를 고려한 최단거리 그래프..

[백준 BOJ] 1152번_단어의 개수

https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다. www.acmicpc.net getline(cin, str)을 사용해볼 수 있는 문제였다. "Hello world"와 같은 입력을 받는 경우 cin>>str을 하면 str에는 Hello 까지만 담기게 된다. getline의 경우 공백을 포함하여 입력을 받기 때문에 공백이 있는 문자열 처리에 사용하기 좋다. [문제 해결 방법] 공백의 아스키 코드값인 32를 확인하여 단어의 개수..