
1. 문제 풀이 아이디어
- Queue를 활용하여 문제를 해결할 수 있다.
2. 나의 정답 코드
int n = int.Parse(Console.ReadLine() ?? "0");
Queue<int> queue = new Queue<int>();
for (int i = 1; i <= n; i++)
{
queue.Enqueue(i);
}
while (queue.Count > 0)
{
Console.Write(queue.Dequeue() + " ");
if (queue.Count > 0)
queue.Enqueue(queue.Dequeue());
}
3. 정리
- 입력 값을 받아 정수로 변환하여 저장한다.
- 1부터 n까지의 숫자를 큐에 추가한다.
- 큐가 빌 때까지 while문을 반복한다:
- 큐에서 데이터를 꺼내 출력한다.
- 큐에 데이터가 남아 있으면 데이터를 꺼내 다시 큐에 넣는다.
- ?? 연산자:
a ?? 0
은a == null ? 0 : a
와 같다.
Share article