https://www.acmicpc.net/problem/2164
1. 아이디어
Queue 자료구조를 활용하면 간단하게 해결할 수 있다.
2. 문제풀이
카드 뭉치 맨 위를 큐의 front, 카드 뭉치 맨 아래를 큐의 rear로 생각하며 풀이하면 간단하게 구현할 수 있다.
3. 코드
import java.io.*;
import java.util.*;
public class Main {
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 ArrayDeque<>();
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());
}
}
4. 후기
'코딩테스트 준비 > 백준' 카테고리의 다른 글
[백준] 11651번 - 좌표 정렬하기 2 [Java] (0) | 2024.12.06 |
---|---|
[백준] 11650번 - 좌표 정렬하기 [Java] (0) | 2024.12.06 |
[백준] 2161번 - 카드1 [Java] (0) | 2024.12.06 |
[백준] 25381번 - ABBC [Java] (1) | 2024.12.06 |
[백준] 20149번 - 선분 교차 3 [Java] (0) | 2024.12.05 |