코딩테스트

자바 Queue

윤돌_99 2022. 1. 4. 22:52

자바 Queue 문법

 

1. Queue 선언

Queue<Integer> Q = new LinkedList<>();

2. Queue에 데이터 삽입

Q.offer(1);

3. Queue에 데이터 꺼내기

Q.poll();

4. Queue내에 데이터 존재 여부

Q.isEmpty();

5. Queue의 크기

Q.size();

 

예시 문제 (공주 구하기)

import java.util.*;
  
public class Main {
  public static void main(String[] args){
    Scanner in=new Scanner(System.in);
    int n = in.nextInt();
    int k = in.nextInt();
    int answer = 0;
    
    Queue<Integer> Q = new LinkedList<>();
    for(int i=1; i<=n; i++) Q.offer(i);
    
    int cnt = 1;
    while(!Q.isEmpty()){
    	for(int i=1; i<k; i++) Q.offer(Q.poll());
      	Q.poll();
      	if(Q.size()==1) answer = Q.poll();
    }
    
    System.out.println(answer);
  }
}