풀이
A*B*C를 10으로 나누었을 때 나머지는 1의 자리만 남는다.
남는 수에 해당하는 배열의 index를 증가시키면 0~9의 숫자가 각각 몇 번 쓰였는지 알 수 있다.
1의 자리의 수를 알아낸 후 result를 10으로 나눈 결과에 10으로 나누었을 때의 나머지를 구하는 과정을 반복하면 된다.
소스코드
#include <stdio.h>
int main() {
int A, B, C;
scanf("%d %d %d", &A, &B, &C);
int result = A*B*C, num[10] = { 0, };;
while (result != 0){
num[result % 10]++;
result /= 10;
}
for (int i = 0; i < 10; i++)
printf("%d\n", num[i]);
}
출처
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 2739] 구구단 [C] (0) | 2021.07.10 |
---|---|
[백준 2675] 문자열 반복 [C] (0) | 2021.07.10 |
[백준 9012] 괄호 [C] (0) | 2021.07.10 |
[백준 2562] 최댓값 [C] (0) | 2021.07.09 |
[백준 2557] Hello World [C] (0) | 2021.07.09 |