Priority Queue(3)
-
[알고리즘] 1713. 후보 추천하기
0. 문제 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1 ≤ N ≤ 20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대 www.acmicpc.net 1. 문제 이해 시뮬레이션 정렬 2. 오답 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.PriorityQueue; import java.util.StringTokenizer; public class ..
2024.02.18 -
[Java] Heap
1. Heap 완전 이진 트리에 있는 노드 중에서 키 값이 가장 큰 노드나 키 값이 가장 작은 노드를 찾기 위해서 만든 자료구조. 무언가를 차곡차곡 쌓아 올린 더미 부모의 값은 항상 자식(들)의 값보다… 크거나 같은 최대 힙(Max heap) 작거나 같은 최소 힙(Min heap) 데이터의 삽입과 삭제는 모두 O(logN)이 소요. (완전 이진 트리일 때) 가. 데이터 삽입 가장 끝의 자리에 노드를 삽입한다. 그 노드와 부모 노드를 서로 비교한다. 규칙에 맞으면 그대로 두고, 그렇지 않으면 부모와 교환한다. 규칙에 맞을 때까지 반복한다. 나. 데이터 삭제 최댓값 혹은 최솟값이 저장된 루트 노드만 제거할 수 있다. 루트 노드를 제거한다. 루트 자리에 가장 마지막 노드를 삽입한다. 올라간 노드와 그의 자식..
2024.02.18 -
[Java] Stack, Queue, Priority Queue
1. Stack import java.util.Stack; Stack stack = new Stack(); push() : 삽입 pop() : 삭제 peek() : 조회 isEmpty() : 비었? size() : 크기 Stack underflow와 overflow를 조심하자. 2. Queue import java.util.Queue; Queue queue = new ArrayDeque(); // //또는 Queue queue = new LinkedList(); Java의 java.util.Queue는 interface다. 구현체로는 대표적으로 ArrayDeque 또는 LinkedList를 사용한다. 대부분의 상황에선 LinkedList보다는 ArrayDeque를 사용하자. ArrayDeque 양쪽 끝에..
2024.02.03