주어진 수에서 각 자릿수를 뽑아내는 방법은 다양하다.
//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 |
댓글