https://www.acmicpc.net/problem/2164
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; 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()); // 1. 카드 초기화 Queue<Integer> queue=new LinkedList<>(); for(int i=1; i<=n; i++) { queue.offer(i); } // 최종적으로 남아있는 카드 1장 출력하기 while (queue.size()>1) { // 2. 맨 위에 있는 카드 버리기 queue.poll(); // 맨 앞 원소 버리기 // 3. 맨 위에 있는 카드를 맨 아래로 옮기기 queue.offer(queue.poll()); // 맨 앞의 원소 버리기 -> 버려진 원소를 맨 뒤에 삽입 } System.out.println(queue.poll()); } } | cs |
'여니의 취준 준비 > 코딩테스트 (Java)' 카테고리의 다른 글
[16926] 배열 돌리기 1 in Java (0) | 2022.08.05 |
---|---|
[17726] 배열 돌리기 in Java (0) | 2022.08.05 |
[SWEA] 1225번 [S/W 문제해결 기본] 7일차 - 암호생성기 in Java (0) | 2022.08.04 |
[10994] 별찍기 - 19 in Java (0) | 2022.08.03 |
[SWEA] 1873. 상호의 배틀필드 in Java (0) | 2022.08.03 |