🌞Algorithm/🔥Baekjoon

[Baekjoon] 2161_카드1

뿌야._. 2023. 8. 7. 10:25

Silver V

문제(출처: https://www.acmicpc.net/problem/2161)

< 카드 1 >

 

문제 풀이 

 

Queue를 사용해서 문제를 해결했다.

 

 

 my solution (Java)

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedList;
import java.util.Queue;

public class _2161_ { // 카드1

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		int n = Integer.parseInt(bf.readLine());

		Queue<Integer> queue = new LinkedList<>();
		for (int i = 1; i <= n; i++) {
			queue.add(i);
		}

		while (!queue.isEmpty()) {
			bw.write(queue.poll() + " ");
			if(queue.isEmpty()) break;
			queue.add(queue.poll());
		}
		bw.flush();
	}
}

 

Main

변수)
n : 정수
queue : Queue <Integer>

 

- 정수(n) 입력

- queue에 1부터 n까지 저장

- queue가 빌 때까지 반복

: 첫 번째 카드를 버림

: queue에 카드가 남아있다면 제일 아래로 옮김