백준/C

백준 2677번 : 숫자의 개수 [C]

대니스 2022. 7. 24. 20:24

주소 : https://www.acmicpc.net/problem/2577

 

2577번: 숫자의 개수

첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다.

www.acmicpc.net

소스 코드 :

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int a, b, c = 0;
int ans[10] = { 0, };
int n = 0;
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &c);
int pow = a * b * c;
for (int i = 0;pow !=0;i++)
{
ans[pow%10]++;
pow = pow / 10;
}
for (int i = 0;i < 10;i++)
printf("%d\n", ans[i]);
return 0;
}

 

마무리 : 입력된 수를 곱한 뒤에 0~9의 개수를 파악해야한다. 이는 10을 나누면서 나머지를 배열에 저장하여 그 배열을 출력한다. 이 방법 말고도 곱한 뒤에 숫자를 문자로 바꾸어 아스키코드를 이용하여 출력하는 방법도 있다.