C# 11866번 요세푸스 문제 0
2022. 2. 15. 23:46ㆍ코딩테스트 문제 풀이/[백준] 큐, 덱
728x90
반응형
코드 :
using System;
using System.Collections.Generic;
namespace _3
{
class Program
{
static void Main(string[] args)
{
int[] NK = Array.ConvertAll(Console.ReadLine().Split(' '), int.Parse);
int[] output = new int[7];
Queue<int> q = new Queue<int>();
//초기화
for (int i = 1; i <= NK[0]; i++)
{
q.Enqueue(i);
}
Console.Write("<");
//큐가 모두 없어졌을때까지 반복
while(q.Count != 0)
{
//앞에 두 숫자를 2번 큐 뒤에 연결
//그리고 앞에 두 숫자를 제거
for (int i = 0; i < NK[1]-1; i++)
{
q.Enqueue(q.Peek());
q.Dequeue();
}
//3번째가 됐을때 그 수를 제거하면서 출력
//이 수는 큐에 다시 넣지 않음
Console.Write(q.Dequeue());
//아직 제거해야할 값들이 있기 때문에
//, 출력
if (q.Count != 0)
Console.Write(", ");
}
Console.Write(">");
}
}
}
풀이 :
백준2164번 카드2와 유사하다고 볼 수 있다.
7 3 < 이렇게 입력이 들어온다면 3번째마다 출력한다는 의미이므로 첫번째와 두번째는 큐의 뒤로 보내고 3번째마다 출력하면 된다.
728x90
반응형
'코딩테스트 문제 풀이 > [백준] 큐, 덱' 카테고리의 다른 글
C# 1966번 프린터 큐 (0) | 2022.02.16 |
---|---|
C# 2164번 카드2 (0) | 2022.02.15 |
C# 18258번 큐 2 (0) | 2022.02.15 |