본문 바로가기

박기완 코딩교육/정보올림피아드 대비

코드업 4562 숫자의 개수 초등부 정올

이 문제도 굉장히 기본기를 묻는 문제다.


글 읽자마자 1차원배열의 인덱스를 활용할 줄 아는가를 테스트 하는구나 싶었다.

1차원배열  10칸짜리를 만들어 0번째부터 9번째 인덱스까지를  0부터 9까지의 숫자 갯수를 담을 공간으로 바라보면 풀린다.


정수형 데이터를 0이될때까지 10으로 나눠가면서  나오는값들 카운팅해보자


#include <stdio.h>


int main()
{
	int datas[10]={};
	int num1,num2,num3;
	scanf("%d",&num1); 
	scanf("%d",&num2); 
	scanf("%d",&num3); 

	int res = num1*num2*num3;
	
	while(res>0){
    	//해당 숫자를 바로   배열 인덱스이용해서  숫자갯수 세기
		datas[res%10]++;
		res/=10; 
	}

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