본문 바로가기
Algorithm/Cpp C#

백준 알고리즘 2588번

by Pretty Garbage 2019. 8. 4.

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int inputFir = Convert.ToInt32(Console.ReadLine());
            int inputSec = Convert.ToInt32(Console.ReadLine());

            int[] val = new int[inputSec.ToString().Length];

            int DevineNum = inputSec;

            for(int i = val.Length - 1; i >= 0; i--)
            {

                val[i] = DevineNum % 10;

                Console.WriteLine(val[i] * inputFir);

                DevineNum /= 10;
            }

            Console.WriteLine(inputSec * inputFir);


            Console.ReadKey();
        }
    }
}

 

 

핵심은 10으로 나눈 나머지 값이 제일끝자리로 남는 다는 것

 

다른 분들 풀이를 보니 이것보다 더 짧은 코드도 있고 더 알아보기 쉬운 코드들도 많았지만

 

언제나 개발하다보면 반드시 3자리수가 올거라는 보장은 없으니... (문제는 3자리수 한정이긴 했다.)

 

좀 더 간결한 방법과 ... 고민인 부분은 10으로 나누고 나머지 값을 변경해버리기 때문에 따로 변수를 지정해줬다는건데...

 

이 부분에 대한 좋은 방법이 있으면 좋을 것 같다.

 

제 고민을 해결 해주실 분 있다면... ㅠㅠ 많은 지적과 조언 감사히 받습니다.