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

 

1110번: 더하기 사이클

0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음,

www.acmicpc.net

 

#전체 코드

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            
            //새로운 수 만들기 -> 새로운 수 비교 

            string input = Console.ReadLine();

            int repeat = 1;
            int[] array = new int[100]; //비교할 값들을 저장
            int count = 1; 
            array[0] = int.Parse(input);//첫번쨰 배열에는 처음 입력값 저장
            string inputFirstNumber, inputSecondNumber;
            int newNumber,final;

            while (repeat ==1)
            {
                if (int.Parse(input) < 10)
                {
                    
                    inputSecondNumber = input.Substring(0, 1);

                    final = int.Parse(inputSecondNumber) * 10 + int.Parse(inputSecondNumber);
                    array[count] = final;

                }
                else
                {
                    inputFirstNumber = input.Substring(0, 1);
                    inputSecondNumber = input.Substring(1, 1);
                    newNumber = int.Parse(inputFirstNumber) + int.Parse(inputSecondNumber);

                    string stringNewNumber = newNumber.ToString();
                    string newSecondNumber;

                    if (newNumber < 10)
                    {
                        newSecondNumber = stringNewNumber.Substring(0, 1);
                    }
                    else
                    {
                        newSecondNumber = stringNewNumber.Substring(1, 1);
                    }
                    

                    final = (int.Parse(inputSecondNumber) * 10) + int.Parse(newSecondNumber);
                    array[count] = final;


                }




                //새로운 수 비교

                for (int i = 0; i < count; i++)
                {
                    if (array[i] == array[count])
                    {
                        Console.WriteLine("{0}", count);
                        repeat = 0;

                    }
                }

                count++;

                input = final.ToString();
                
            }

            
               
            

        }
    }
}

'[백준] > C#' 카테고리의 다른 글

백준 1193번 분수찾기 [C#]  (0) 2023.08.05
백준 1152번 단어의 개수 [C#]  (0) 2023.08.05
백준 1065번 한수 [C#]  (2) 2023.08.05

+ Recent posts