[백준] 카드2 2164번
나의 풀이
public class CardV2 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
Deque<Integer> queue = new LinkedList<>();
int num = 1;
for(int i = 1; i < N + 1; i++) {
queue.add(i);
}
while(queue.size() != 1) {
queue.pop();
queue.add(queue.poll());
}
System.out.println(queue.getFirst());
}
}
- 1부터 N 까지의 숫자를 큐에 채워준다.
- 큐의 사이즈가 1이 될 때까지 맨 위의 카드를 제거하고, 다음 카드를 뒤로 넣어주는 과정을 반복한다.