Notice
Recent Posts
Recent Comments
Link
개발 무지렁이
[문제풀이] B2164 카드2 본문
카드2
🪅 카드를 빼는 위치와 옮기는 위치를 보고서 큐(Queue)를 생각할 수 있느냐
🪅 큐(Queue)를 구현할 수 있느냐 => new ArrayDeque<>();
🪅 어떤 동작을 반복할 때, 반복동작을 메서드로 만들 수 있느냐
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.Queue;
/**
* 백준 2164번 카드2
*
* 입력:
* 첫째 줄에 정수 N(1 ≤ N ≤ 500,000)이 주어진다.
*
* 출력:
* 첫째 줄에 남게 되는 카드의 번호를 출력한다.
*
*/
public class Main {
static Queue<Integer> queue = new ArrayDeque<>();
public static void workOrder() {
queue.remove();
int top = queue.remove();
queue.offer(top);
}
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(bf.readLine()); // 6
// 전체 카드 초기화, 123456
for(int i = 1; i <= N; i++) {
queue.offer(i);
}
while(queue.size() != 1) {
workOrder();
}
System.out.println(queue.peek());
}
}
'코딩 테스트 > 문제풀이' 카테고리의 다른 글
[문제풀이] B1920 수찾기 (0) | 2023.03.20 |
---|---|
[문제풀이] B2178 미로탐색 (0) | 2023.03.20 |
[문제풀이] B1874 스택수열 (0) | 2023.03.19 |
[문제풀이] B17608 막대기 (0) | 2023.03.19 |
[문제풀이] B1158 요세푸스 문제 (0) | 2023.03.13 |
Comments