본문 바로가기

프로그래머스2

다익스트라 알고리즘 정리 지난 알고리즘 글에서 다익스트라 알고리즘을 정리한 글을 작성한다 예고했었다. 다익스트라 알고리즘의 구현 방법 및, 실제 문제 풀이를 정리해보고자 한다. 다익스트라 알고리즘(Dijkstra's Algorithm) : 그래프 상의 두 정점 사이의 최단거리를 구하는 알고리즘. GPS, 네트워크 라우팅 등의 다양한 분야에서 활용된다. 다익스트라 알고리즘 구현 다익스트라 알고리즘은 다음과 같은 과정을 거친다. 시작점에서 탐색을 시작한다. 새 노드에 방문할 때마다, 가장 작은 거리(가중치)를 갖는 노드를 골라서 방문한다. 방문한 노드의 각 인접점에 대해, 시작점까지의 거리를 계산한다. → 이 때, 새로운 최단거리가 나오면 최단거리를 업데이트 한다. 이전에 다른 글에서 정리한 그래프와 달리, 다익스트라 알고리즘의 구.. 2023. 12. 28.
[~0718] 알고리즘 어쩌다 보니 '프로그래머스'에서 잠시 코딩 테스트 연습을 했었다. 짧은 시간 동안 우다다다 풀은 것이라 조금 난잡하지만 이왕 풀어본 거 이곳에 정리해두기로 했다. 이하의 문제들은 거의 대부분 코딩테스트 고득점 Kit 속 문제들이다. 기능개발 반복문을 돌면서 진도를 나타내는 progresses 벡터에 작업 속도를 더한다. 배포는 progresses에 들어있는 순서대로 진행되기 때문에, 큐의 front 역할을 할 변수 i를 두어 다음에 배포될 기능이 몇 개인지 확인한다. #include #include using namespace std; vector solution(vector progresses, vector speeds) { vector answer; int i = 0, numOfPro = 0; whi.. 2021. 7. 19.