Solution : 모든 노드는 팀장이 참여할때(bat) 참여하지않을때(bnat) 2가지 경우에 대한 값을 가진다. edges Arraylist의 모든 노드는 upside downside에 대한 2가지 정보를 필요로 한다. 말단 → 상위노드로 탐색이 필요하므로, 넓이우선탐색( Queue + indegree array )를 활용 중요 : Class를 활용하여 새로운 Type의 구조체 만들기 ArrayList를 활용하여 Link 정보 저장 프로그래머스 - 2021 KAKAO BLIND RECRUITMENT - 매출하락최소화 import java.awt.List; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; i..
분류 전체보기
Priority Queue Heap 자료구조(Binary Tree) 를 통해 구현 Queue 형태로 우선순위 정렬되며, 최대/최소값 탐색 가능 Binary Tree 탐색으로 시간복잡도 logN ■ 활용 ## 오름차순 선언 ## PriorityQueue pq = new PriorityQueue(); ## 내림차순 선언 ## PriorityQueue pq = new PriorityQueue(Collections.reverseOrder()); ## 함수 ## pq.add(); //추가 pq.offer(); //추가 or exception error pq.peek() //반환 pq.element() //반환 or exception error pq.poll() //반환후제거 pq.remove() //제거 or e..