\[문제의 핵심은 3\*3 2차원 배열에 존재하는 숫자들을 좌상단부터 우하단까지 이어지는 숫자 (1차원 배열, 엄밀히 말하면 String 형)로 표현하는 것이다 위에서 변형한 String형태를 HashMap에 넣어 관리한다. HashMap <String, Inte
\[최소 비용으로 모든 다리를 연결한다는 점에서 kruskal algorithm 을 떠올린다 각 섬에 번호를 매기고 vec 이라는 이름의 vector를 만들어 {dist, 섬1, 섬2} 를 저장한다. 이는 섬1과 섬2간 거리는 dist라는 뜻이다vec에 저장된 값을 참
\[단일 시작점 최단 경로 알고리즘으로, 시작 정점 s에서부터 다른 정점들까지의 최단 거리를 계산우선 순위 큐에 지금까지 찾아낸 해당 정점까지의 최단 거리, 정점의 번호를쌍으로 넣음 priority_queue <pair<int, int>> pq; 정점까지의
Lv3. 가장 먼 노드주어진 양방향 간선을 인접 리스트 그래프로 만들어 준다시작 정점 1에서부터 인접한 노드들 중 방문하지 않은 정점들을 queue에 넣어주며 bfs로 탐색한다해당 정점의 방문 거리는 이전 정점의 방문 거리+1 이다양방향 인접 리스트 만들기(어차피 di
Lv3. 순위result 배열 각 행 \[a,b]는 a가 b를 이겼다는 의미이다처음 각 선수간 순위가 있으니 위상정렬(Topological Sort)로 구현해야 하나 생각을 했다 (indegree와 outdegree의 차수를 더한 값이 n-1이 되면 모든 선수들과 관계