-
[백준 - 2164] 카드2 - Java공부/백준 2022. 6. 7. 17:20728x90
https://www.acmicpc.net/problem/2164
2164번: 카드2
N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가
www.acmicpc.net
큐를 이용하여 해결했다.
num까지 숫자를 큐에 추가한다.
맨 위에 있는 큐를 remove()를 이용하여 제거하고,
그 다음 숫자를 poll()을 이용하여 반환 후 제거한다.
제거한 숫자를 add를 이용하여 큐에 추가한다.
큐의 size가 1이 되었을 때 숫자를 출력한다.
코드
import java.util.*;public class back2164 {public static void main(String args[]){Queue<Integer> queue=new LinkedList<>();Scanner scanner= new Scanner(System.in);int num=scanner.nextInt();for(int i=1;i<=num;i++){queue.add(i);}while(queue.size()>1){queue.remove();int a=queue.poll();queue.add(a);}System.out.println(queue.peek());}}728x90반응형'공부 > 백준' 카테고리의 다른 글
[백준-1010] 다리 놓기 - Java (0) 2022.06.08 [백준-11051] 이항 계수2 - Java (0) 2022.06.08 [백준-11729] 하노이 탑 이동 순서 - Java (0) 2022.06.06 [백준-17478] 재귀함수가 뭔가요? - Java (0) 2022.06.06 [백준-1934] 최소공배수 - Java (0) 2022.06.04