728x90
풀이
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]);
}
출처
2577번: 숫자의 개수
첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다.
www.acmicpc.net
728x90
'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 |