알고리즘
백준 2161번 카드1 (JAVA)
박카스마시며코딩
2023. 9. 12. 23:31
https://www.acmicpc.net/problem/2161
2161번: 카드1
N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가
www.acmicpc.net
저는 큐를 통해 문제를 해결하였습니다.
큐를 통해 맨 위 값을 버리고 그 다음 값은 뒤로 보내면서 문제를 해결하였습니다.
package BOJ.etc;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;
import java.util.function.Function;
public class BOJ_2161 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Function<String,Integer> stoi = Integer::parseInt;
int n = stoi.apply(br.readLine());
Queue<Integer> q = new LinkedList<>();
for(int i = 1; i <= n ; i++){
q.offer(i);
}
while(true){
System.out.print(q.poll()+" ");
if(q.isEmpty()){
break;
}
q.offer(q.poll());
}
}
}