알고리즘 정리

최단 경로(Shortest Path) 알고리즘 - 다익스트라(Dijkstra) - 벨만-포드(Bellman-Ford) - 플로이드-와샬(Floyd-Warshall) 다익스트라(Dijkstra) 알고리즘이란? 다익스트라 알고리즘은 최단경로(Shortest Path) 알고리즘 중의 하나입니다. 더 정확히는, 그래프의 한 정점에서 다른 정점들까지의 최단 거리를 구하는 알고리즘입니다. 다만, 가중치의 값이 음수인 간선이 존재하는 경우에는 다익스트라 알고리즘을 사용할 수 없습니다. (이 경우에는 벨만-포드 알고리즘을 사용해야 합니다.) 즉, 다익스트라 알고리즘은 간선의 가중치가 모두 0 또는 양수인 경우에만 사용 가능합니다. 다익스트라 알고리즘의 로직은 다음과 같습니다. 1. 출발 정점을 설정한다. 2. 출발 정..
2023.07.28 (금) [프로그래머스] - 최솟값 만들기 (Lv.2) - 올바른 괄호 (Lv.2) - 이진 변환 반복하기 (Lv.2) - 피보나치 수 (Lv.2) - 짝지어 제거하기 (Lv.2) 2023.07.29 (토) [프로그래머스] - 영어 끝말잇기 (Lv.2) - 구명보트 (Lv.2) - 예상 대진표 (Lv.2) - 점프와 순간이동 (Lv.2) - N개의 최소공배수 (Lv.2) 2023.07.30 (일) - 멀리 뛰기 (Lv.2) - 귤 고르기 (Lv.2) - 괄호 회전하기 (Lv.2) - 연속 부분 수열 합의 개수 (Lv.2) - H - Index (Lv.2) 2023.07.31 (월) [프로그래머스] - n^2 배열 자르기 (Lv.2) - 행렬의 곱셈 (Lv.2) - [1차] 캐시 (Lv...
개요 문자열을 split하는 방법에는 수많은 방법이 존재하겠지만, 내가 사용할 방법에 대해 정리해놓기 위한 글이다. 나는 istringstream를 적절히 사용할 예정이다. 두 함수는 #include 헤더를 포함시켜야 한다. isstringstream : 문자열을 parsing하기 위함 isstringstream 1. 가장 기본적인 사용 방법 Defalut로, istringstream은 공백(' ')을 기준으로 split(쪼갬) getline의 인자에 ','를 넣어주면 콤마(,)를 기준으로 split도 가능함 -> 즉, 공백 이외에도 다양한 구분자를 사용할 수 있음 #include #include #include using namespace std; int main(void) { ios_base::syn..