백준/단계별
백준 2577 C#) 숫자의 개수
alpacadabra
2022. 4. 18. 17:57
주어진 수에서 각 자릿수를 뽑아내는 방법은 다양하다.
//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']++;
}
주어진 수를 문자열로 바꿔 각 문자를 아스키 코드로 연산하는 것이다.