문제 풀러 가기 : https://www.acmicpc.net/problem/11866 이 문제는 Queue 자료구조를 이용하면 매우 간단하다. K회 반복하는 for문을 돌며 queue에서 값을 꺼내고, 다시 넣기를 반복하다가, K번째 반복에서는 다시 넣지 않고 출력하기를 반복하면 된다. 이 반복을 queue.size() == 1이 될때 까지 반복하고, 마지막 남은 원소를 출력하고 마무리 한다. Code import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); StringBui..
Interface Queue 공식 문서 https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html Queue 선형 자료구조 First In First Out : 가장 먼저 입력된 자료를 가장 먼저 꺼낼 수 있음 맨 앞(front)에서 자료를 꺼내고, 맨 뒤(rear)에 자료를 추가함 몰랐던 영어지만, queue는 "차례를 기다리는 사람이나 승용자의 열"이라는 뜻이다. "대기줄"이라고 생각해도 될 것 같다. 먼저온 순서대로 들어가고, 먼저 온 순서대로 나간다. 변수 선언 Queue queue = new LinkedList(); 아래와 같이 new Queue로 직접 생성할 수도 있지만, Queue는 인터페이스 이기 때문에 해당 인터페이스의 메서드들을 모두..
문제 Queue 자료구조를 이용해서 요구사항을 구현만 하면 되는 문제이다. 유의할 점은 중요도가 같은 경우가 있을 수 있기 때문에, 각각 문서의 번호와 값을 함께 저장해주어야 한다. 풀이 우선 Queue에 각 테스트케이스의 두 번째 줄에 있는 문서 정보를 입력받는다. 문서 정보는 2개의 인덱스를 가진 int배열로 0번 인덱스에는 문서 번호를, 1번 인덱스에는 중요도 값을 넣을 것이다. 이 문서정보를 순서대로 Queue에 넣어준다. Queue queue = new LinkedList(); for(int i=0;i queue.peek() 꺼낸 값과 queue에 남아있는 모든 값을 비교하여 꺼낸 값보다 큰 값이 하나라도 있는지 확인한다. 1. 꺼낸 값보다 큰 값이 있는경우 값을 꺼내서 다시 queue에 넣어준..