본문 바로가기
문제 풀이/백준(BOJ)

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

by 희조당 2021. 4. 23.
728x90

www.acmicpc.net/problem/2577

 

2577번: 숫자의 개수

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

www.acmicpc.net


문제 접근

 1. 10칸의 배열을 생성하고 입력받은 값을 곱한 값을 저장한다.

 2. 곱한 값을 10을 나눈 나머지에 해당하는 idx에 값을 상승시킨다.

 3. 나눈 나머지가 0이 될 때까지 반복한다.

느낀점

 실패한 문제로 남아서 풀어보았다. 매우 기본적인 문제다.

코드

#include <stdio.h>

int main() {
	int a, b, c;
	int arr[11] = { 0, };
	scanf("%d %d %d", &a, &b, &c);
	
	int total = a * b * c;
	while (total != 0) {
		int idx = total % 10;
		arr[idx]++;
		total /= 10;
	}
	for (int i = 0; i < 10;i++) {
		printf("%d\n", arr[i]);
	}

	return 0;
}

댓글