728x90
https://www.acmicpc.net/problem/2164
2164번: 카드2
N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가
www.acmicpc.net

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));
//StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
Queue<Integer> queue = new LinkedList<>();
for(int i=1; i<=N; i++){
queue.offer(i);
}
// 1. 그냥 버리기 2. 맨 앞 숫자를 맨 뒤에 넣기
// 위 두가지를 반복하기 위한 index 변수
int index = 0;
while(queue.size()!=1){
index++;
// index가 홀수라면 1번
if(index%2==1){
queue.poll(); continue;
}
// 아니라면 2번
queue.offer(queue.poll());
}
// 마지막 남은 숫자를 출력
System.out.println(queue.poll());
}
}
728x90
'코딩테스트 > 백준' 카테고리의 다른 글
[백준-자바] 2566번 최댓값 / 2022.10.30 (0) | 2022.10.30 |
---|---|
[백준-자바] 1068번 트리 / 2022.10.18 (0) | 2022.10.18 |
[백준-자바] 11866번 요세푸스 문제 0 / 2022.07.16 (0) | 2022.07.16 |
[백준-자바] 10546번 배부른 마라토너 / 2022.07.04 (0) | 2022.07.04 |
[백준-자바] 7795번 먹을 것인가 먹힐 것인가 / 2022.06.04 (0) | 2022.06.04 |