본문 바로가기
백준(C언어)/22년 7월

7월 13일(수) - 4단계(10818번 , 2562번 , 2577번)

by C0MPAS 2022. 7. 16.

4단계 - 10818번

 

4단계 - 2562번

 

4단계 - 2577번

 

2577번: 숫자의 개수

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

www.acmicpc.net

 

문제점

1. 처음에는 for문 이용해서 array[middle] 배열에 하나하나 카운팅하는 것으로 생각함

-> array[(a*b*c)%10]++

-> 두 가지 방법 모두 가능

 

풀이

#include <stdio.h>

int main(void)
{
	int a, b, c, d;
	scanf("%d %d %d", &a, &b, &c);
	d = a * b * c;

	int count = 0;
	int middle;
	int array[10] = { 0,0,0,0,0,0,0,0,0 };

	for (int i=0; d>0 && i<10; i++)
	{
		middle = d % 10;
		array[middle] += 1;
		count++;
		d = d / 10;
	}

	for (int i = 0; i < 10; i++)
	{
		printf("%d\n", array[i]);
	}
	return 0;
}

출처: https://www.acmicpc.net/problem/2577

댓글