백준문제풀이 8단계 일반 수학 1(1) 2745번 진법 변환 (C#)

2024. 6. 11. 20:00백준 문제풀이/8단계 일반 수학 1

 

주어진 수와 진법을 보고

10진법으로 바꾸는 문제!

 

10이상은 알파벳으로 표현한다.

 

예를들어 ZZZZ는 35 35 35 35인것

 

using System;
class BackJoon
{
    static void Main(string[] args)
    {
        string[] input = Console.ReadLine().Split();
        string N = input[0];
        int N2 = int.Parse(input[1]);
        long count = 0;
        int j = 0;
        for (int i = 0; i < N.Length; i++)
        {
            j = N[i] >= 'A' ? N[i] - 'A' + 10 : N[i] - '0';
            count = count * N2 + j;
        }
        Console.WriteLine(count);
    }
}

 

수와 진법을 받아주자.

수의 길이만큼 for문을 돌리자.

 

수가 'A'보다 클경우(알파벳일경우) 해당 숫자에서 'A'를 빼주고 10을 더해주자.

숫자일경우는 0을 빼주어 숫자로 바꿔주자.

 

반복마다 count에 N2(진법)를 곱하고 j(해당 자릿수)를 더해주자.

 

출력해주면 끝.