반응형
문제
N장의 카드 (1부터 N)이 있을 때, 다음의 규칙에 따라 카드를 제거해서 남은 1장을 출력한다.
- 가장 아래 (초기값으로 가장 작은 수)를 삭제한다.
- 가장 아래값을 가장 위로 이동시킨다.
- 한 장이 남을 때 까지 반복한다.
풀이
문제에 나온 순서대로 규칙을 적용하였다.
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
class Main {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
Queue<Integer> queue = new LinkedList<>();
for(int i=1; i<N+1; i++){
queue.add(i);
}
while(queue.size() != 1){
queue.poll();
queue.add(queue.poll());
}
System.out.println(queue.poll());
}
}
결과
반응형
'백준' 카테고리의 다른 글
[JAVA] 백준 17298 큐 (0) | 2024.01.19 |
---|---|
[JAVA] 백준 11286 우선순위 큐 (0) | 2024.01.19 |
[JAVA] 백준 1874 스택 (0) | 2024.01.19 |
[JAVA] 백준 2015 누적 합 (1) | 2024.01.19 |
[JAVA] 백준 2167 누적합 (0) | 2024.01.19 |