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());
}
}
}
'알고리즘' 카테고리의 다른 글
백준 1057번 토너먼트 (JAVA) (0) | 2023.09.14 |
---|---|
백준 1080번 행렬 (JAVA) (0) | 2023.09.13 |
백준 10810번 공 넣기 (JAVA) (0) | 2023.09.11 |
백준 14627번 파닭파닭(JAVA) (0) | 2023.09.10 |
백준 25416번 빠른 숫자 탐색 (JAVA) (0) | 2023.09.09 |