문제


일단 생각하자!
- 가장 앞의 카드를 버리고, 뒤로 보내는 과정을 반복하므로 Queue를 이용하여 풀이한다. 생각보다 오래걸렸지만 정말 간단했던 문제!
풀이
package BJ;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class BJ_2164_카드2_김유나 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int N = s.nextInt();
Queue<Integer> cards = new LinkedList<>();
for (int i = 1; i <= N; i++) {
cards.offer(i);
}
while (cards.size() != 1) {
cards.poll();
cards.offer(cards.poll());
}
System.out.println(cards.peek());
}
}