PriorityQueue 2

[Algorithm] 원더랜드_프림 알고리즘(최소스패닝트리)

스패닝 트리란 회로가 존재하지 않도록 그래프의 모든정점을 연결하는 트리이다. * 회로가 존재한다. == 사이클이 발생한다. == 출발점에서 시작해서 출발점으로 돌아온다. == 그래프 * 아래의 문제 이미지에서 왼쪽 이미지=그래프 / 오른쪽 이미지=트리 최소 스패닝 트리(MST)는 스패닝 트리를 구성하는 간선들의 가중치의 합이 최소가 되는 트리를 뜻한다. 이번 최소 스패닝 트리 문제는 프림 알고리즘, PriorityQueue을 이용하여 해결 할 것이다. 설명 원더랜드에 문제가 생겼다. 원더랜드의 각 도로를 유지보수하는 재정이 바닥난 것이다. 원더랜드는 모든 도시를 서로 연결하면서 최소의 유지비용이 들도록 도로를 선택하고 나머지 도로는 폐쇄하려고 한다. 아래의 그림은 그 한 예를 설명하는 그림이다. 위의 지..

Algorithm 2021.07.30

[Algorithm] 최대 수입 스케쥴(PriorityQueue)

설명 N개이 기업에서 강연 요청을 해왔다. 각 기업은 D일 안에 와서 강연을 해 주면 M만큼의 강연료를 주기로 했다. 각 기업이 요청한 D와 M를 바탕으로 가장 많을 돈을 벌 수 있도록 강연 스케쥴을 짜야 한다. 단 강연의 특성상 하루에 하나의 기업에서만 강연을 할 수 있다. 입력 첫 번째 줄에 자연수 N(1 50 2 마지막 1일에 할 수 있는 가장 높은 강의를 구한다. 1~3일중에 구한다. 1~3일중에 강의료가 가장 큰 값을 구한다. (30 3 / 40 2 / 30 1 / 20 1) -> 40 2 이렇게 최대(D)부터 최소(D)까지 각각의 최적의 값을 구한 후 다 더하면 된다. 풀이. class Company implements Comparable{ public int pay; public int da..

Algorithm 2021.07.21