Queue 5

[JAVA]BOJ 1966, 프린터 큐

class를 사용한 큐 문제이다.순서와 중요도를 가진 class를 선언하고, 그 클래스로 큐를 만든다.첫 번째 큐의 요소보다 큰 중요도를 가진 요소가 뒤에 존재한다면 첫 번째 큐를 뒤로 보낸다. 이때 flag로 표시를 해줘서 첫 번째 큐의 요소보다 큰 중요도를 가진 요소가 뒤에 있다는 것을 표시한다.flag에 표시가 되지 않은경우는 첫 번째 큐의 요소보다 큰 중요도를 가진 요소가 없다는 것을 뜻하므로 인쇄한다.(poll())몇 번 인쇄했는지 순서가 중요하므로 인쇄 횟수를 저장한다.(cnt) 이때 인쇄한 큐의 요소의 순서가 입력받은 M과 같으면 인쇄횟수(cnt)를 출력한다.자세한 설명은 주석으로 표시했다.아래는 전체 코드이다.import java.io.BufferedReader;import java.io...

코딩가딩가 2024.08.19

[JAVA]BOJ 10845, 큐

다른건 그냥 메소드 사용하면 되고.. 큐의 가장 뒤에있는 정수를 출력하는 것만 신경쓰면 된다.System.out.println(((LinkedList)queue).getLast());queue를 LinkedList로 강제 형변환한 후, 리스트의 마지막 요소를 출력한다. 이때 queue는 LinkedList로 구현된 Queue여야 한다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;public class BOJ10845 { public static void main(String[] args) th..

코딩가딩가 2024.08.18

[JAVA]BOJ 2161, 카드1

큐 관련한 문제를 푸는데 큐에 대해 아직 잘 모르는 것 같아서 간단한 문제를 먼저 풀어봤다. 자바에서 큐를 구현할때 LinkedList, PriorityQueue, ArrayDeque 등을 사용할 수 있다. 큐의 주요 메소드add()큐의 뒤에 요소를 추가한다.큐가 가득 찼을 때 예외를 발생시킨다. 성공하면 'true'를 반환한다.poll()큐의 제일 앞에 있는 요소를 제거하고 반환한다.큐가 비어있으면 'null'을 반환한다.remove() 와 비슷하지만, remove()는 큐가 비어있을때 예외를 발생시킨다.따라서 큐가 비어있지 않다고 확신할때 remove를 사용한다.peek()큐의 앞에 있는 요소를 반환한다. 제거하지는 않는다.큐가 비어있으면 예외를 발생시킨다.import java.io.BufferedR..

코딩가딩가 2024.08.18