
문제를 풀이하는 방법은 맨 앞의 수를 삭제하고(poll) , 그 다음 앞의 수를 삭제한 뒤, 삭제한 수를 맨 뒤에 삽입(offer) 하면 된다
offer() 메서드는 큐의 맨 뒤에 데이터를 삽입하는 것이다.
package Queue;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;
public class Card_2 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
Queue<Integer> q = new LinkedList<>();
for(int i=1; i<= n; i++){
q.offer(i); //삽입
}
while(q.size() >1){
q.poll();
q.offer(q.poll()); //맨 앞의 원소를 버림과 동시에 버려진 원소를 맨 뒤에 삽입
}
System.out.println(q.poll());
}
}