큐 사용
1) x < 10 이면 0 enqueue 후 x enqueue
2) dequeue 와 last 를 합한 수를 % 10 후 enqueue.
3) 처음 수와 같을 때까지 실행한 후 cycle 출력 (cycle은 매 더하기 연산마다 1씩 증가)
namespace SongE
{
public class Program
{
static void Main(string[] args)
{
string n = Console.ReadLine();
Console.WriteLine(Cycle(n));
}
static int Cycle(string n)
{
int x = int.Parse(n);
int cycle = 0;
Queue<int> queue = new Queue<int>();
if (x < 10)
{
queue.Enqueue(0);
queue.Enqueue(x);
}
else
{
queue.Enqueue(n[0] - '0');
queue.Enqueue(n[1] - '0');
}
while (true)
{
queue.Enqueue((queue.Dequeue() + queue.Last()) % 10);
cycle++;
if(queue.Peek() * 10 + queue.Last() == x)
return cycle;
}
}
}
}