백준 11866
Algorithm2023. 8. 19. 18:54
스택도 했으니 큐도 한번 해봐야 하지 않을까? 해서 풀어본 문제.
확실히 스택이든 큐든 옛날에 C로 직접 구현했을땐 골때렸는데 라이브러리로 퉁치는게 쉽고 빠르다.
문제가 무슨말을 하는지 잘 이해안되서 그림판에다 해보니 바로 이해가 갔던..
https://www.acmicpc.net/problem/11866
11866번: 요세푸스 문제 0
첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000)
www.acmicpc.net
using System;
using System.Collections;
using System.Collections.Generic;
namespace yosepus
{
class b11866
{
static void solution(int N, int K)
{
Queue<int> SQ = new Queue<int>(N);
int flag = N;
int set = 1;
Console.Write("<");
for (int i = 1; i <= N; i++)
{
SQ.Enqueue(i);
}
while (SQ.Count() != 0)
{
int k = SQ.Dequeue();
if(set != K)
{
SQ.Enqueue(k);
set++;
}
else
{
if(SQ.Count == 0)
{
Console.WriteLine("{0}>", k);
break;
}
Console.Write("{0}, ", k);
set = 1;
}
flag--;
//SQ.TrimToSize();
}
//Console.Write(">");
}
static void Main(string[] args)
{
int N = 0, K = 0;
string[] tmp = Console.ReadLine().Split(' ');
N = int.Parse(tmp[0]);
K = int.Parse(tmp[1]);
solution(N, K);
//Console.WriteLine("Input N: {0}, K: {1}", N, K);
}
}
}
'Algorithm' 카테고리의 다른 글
백준 9461 (0) | 2023.08.20 |
---|---|
백준 1149 (0) | 2023.08.20 |
백준 12789 (0) | 2023.08.19 |
백준 2798 (0) | 2023.08.18 |
백준 2839 (0) | 2023.08.18 |
댓글()