본문 바로가기
백준/단계별

백준 2577 C#) 숫자의 개수

by alpacadabra 2022. 4. 18.

주어진 수에서 각 자릿수를 뽑아내는 방법은 다양하다.

 

//A x B x C 의 결과를 구하는 작업
int num = 1;

for (int i = 0; i < 3; i++)
{
    num *= int.Parse(Console.ReadLine());
}

//각 자릿수를 뽑아내는 작업
int[] counts = new int[10];

while (num != 0)
{
    counts[num % 10]++;
    num /= 10;
}

//출력
foreach (int count in counts)
{
    Console.WriteLine(count);
}

 

 

주어진 수에서 1의 자릿수를 뽑아낸 후 10으로 나누어 다음 자릿수인 10의 자릿수가 1의 자릿수로 이동하도록 하였다.

이를 반복하면 모든 자릿수를 구할 수 있다.

 

다른 방법으로도 자릿수를 뽑아낼 수 있다.

 

//문자열을 이용한 자릿수 추출
string numString = num.ToString();
int[] counts = new int[10];

foreach (char numChar in numString)
{
    counts[numChar - '0']++;
}

 

주어진 수를 문자열로 바꿔 각 문자를 아스키 코드로 연산하는 것이다.

'백준 > 단계별' 카테고리의 다른 글

백준 4673 C#) 셀프 넘버  (0) 2022.04.19
백준 4344 C#) 평균은 넘겠지  (0) 2022.04.18
백준 10818 C#) 최소, 최대  (0) 2022.04.18
백준 1110 C#) 더하기 사이클  (0) 2022.04.18
백준 10951 C#) A+B - 4  (0) 2022.04.18

댓글