목록PriorityQueue (2)
기록방
👉 문제링크🔸 문제 분석 🔸1번 도시부터 다른 도시로 가는 K번째 최단 거리를 구해야 한다.K번째 최단 경로가 없으면 -1 출력한다.🔸 문제 풀이 🔸한 노드부터 다른 노드까지의 최단 거리를 구하므로, 다익스트라 (Dijkstra) 알고리즘을 선택한다.일반적인 다익스트라와 다르게, 거리를 업데이트이트 하지 않고 우선 순위 큐에 다시 넣는다.무한 순환 혹은 너무 많은 원소가 생기지 않도록, K개 까지만 거리를 구한다.🔸 코드 🔸import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWrite..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 큐에서 앞 원소를 꺼낸다. (poll) 꺼낸 원소보다 우선순위가 더 높은 원소가 있다면, 꺼낸 원소를 다시 큐에 넣는다. (add) 우선순위대로 원소를 꺼내다가 처음 위치가 location인 원소가 나올 때의 꺼낸 원소 수를 반환한다. 🔸 문제 풀이 🔸 원소들의 우선순위와 처음 위치를 기억하기위해 두 요소를 담은 클래스 Process를 만들어 Queue에 저장한다. 우선순위대로 꺼내기 위해 PriorityQueue에 원소를 저장한다. 우선순위 큐에 나온 원소와 같은 원소가 나올 ..