[PriorityQueue] 자바의 우선순위 큐 사용법
·
알고리즘
자바의 우선순위 큐 (PriorityQueue)는 Queue 인터페이스를 구현한 자료구조 중 하나로 요소들이 우선순위에 따라 정렬되고 가장 높은 순위를 가진 요소가 먼저 제거된다.   [선언]PriorityQueue pq = new PriorityQueue(); // 기본 생성자PriorityQueue pq = new PriorityQueue(Comparator comparator); // 사용자 정의 정렬 기준 [잘 사용되는 메서드]pq.add(E e) : 큐에 요소를 추가한다. 큐의 용량이 초과하면 예외가 발생한다. pq.offer(E e) : 큐에 요소를 추가한다. 큐의 용량이 초과하면 false 를 반환한다. pq.peak() : 우선순위 큐의 최상위 요소를 확인한다. (제거 기능 X 확인 기능..
Flutter 프로젝트 외부라이브러리를 안드로이드에 넣을때
·
Flutter
Flutter 에서 제공하는 라이브러리가 아니라 따로 만든 라이브러리를 내 프로젝트에 넣고 싶다면 어떻게 해야할까?  [안드로이드 라이브러리] 전달받은 SDK의 형태를 보면 아래와 같이 생겼을 것이다. 여기서 android 에 들어가 aar 파일을 찾아야한다. (aar 아닐 수도 있음)  "C:\...\전달받은sdk파일명\android\libs\파일명.aar" 경로를 보통 위와 같다. aar 파일을 찾았다면 해당 aar 파일을 플러터 프로젝트 android/app/libs 에 붙여넣기 해준다.  [build.gradle]"C:\...\전달받은sdk파일명\android\build.gradle" 전달 받은 sdk 파일의 안드로이드 폴더 속 build.gradle 을 보면 dependencies 가 있는데 거..
백준 - 2164 (카드2)
·
알고리즘
import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); Queue que = new LinkedList(); for (int i = 0; i 1) { que.poll(); int temp = que.poll(); que.offer(temp); } System.out.println(que.poll()); }} [해설]큐를 이용하여 푸는게 좋은 문제로 입력 값..
[Queue] 큐의 .add()와 .offer() && .remove()와 .poll() 의 차이
·
알고리즘
큐의 연산에는 여러 가지가 있는데 알고리즘 문제를 풀 던 중 왜 add 보다 offer를 사람들이 쓰는 것일까 궁금증을 가지게 되었다. 그래서 찾아본 같지만 다른 큐의 연산자들!  [add와 offer]add와 offer는 똑같이 Queue에 요소를 삽입하는 연산이다. 하지만, add 는 크기 제한이 넘은 경우 예외를 발생시키고 예외처리를 하지 않았다면 비정상적으로 프로그램을 종료한다. 반면에 offer는 크기 제한이 넘어도 예외를 발생시키진 않지만 삽입이 되었다는 사실을 사용자가 직접 확인해야 한다. add : 요소를 큐에 추가 하는 메서드. 큐의 용량이 초과되면 예외(IllegalStateException)를 던짐 offer : 요소를 큐에 추가 하는 메서드. 큐의 용량이 초과되면 false를 반환 ..
해니01_15
'2025/01 글 목록 (2 Page)