백준 1110

Hyerin·2021년 12월 13일
0
post-thumbnail

문제

https://www.acmicpc.net/problem/10951

C# 풀이

using System;
using System.IO;

namespace baekjoon
{
    class Program
    {
        static void Main(string[] args)
        {
            // 표준 입출력 스트림 reader, writer 만들기
            // n 입력받기, int로 바꾸기
            // n이 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더하기
            // 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를
            // 이어 붙여서 새로운 수 만들기
            // 원래의 수로 돌아오면 n의 사이클 길이를 출력
            // 버퍼에 저장, 버퍼 한 번에 비우기

            StreamReader sr = new StreamReader(Console.OpenStandardInput());
            StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());

            int nCount = 0;
            string strInput = sr.ReadLine(); // "26"
            int nNum = int.Parse(strInput); // 26
            int nOrigin = nNum; // 26

            while (true)
            {

                int leftExpression = nNum / 10; // 2, 6, 8, 4 
                int rightExpression = nNum % 10; // 6, 8, 4, 2

                int rightResult = (leftExpression + rightExpression) % 10; // 8, (1)4, (1)2, 6

                nNum = (rightExpression * 10) + rightResult; // 68, 84, 42, 26

                nCount++;

                if (nNum == nOrigin)
                {
                    sw.WriteLine(nCount);
                    break;
                }
            }

            sw.Flush();
            sr.Close();
            sw.Close();
        }
    }
}

0개의 댓글