문제
지민이는 N쪽인 책이 한권 있다. 첫 페이지는 1쪽이고, 마지막 페이지는 N쪽이다.
각 숫자가 모두 몇 번이 나오는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 0이 총 몇 번 나오는지, 1이 총 몇 번 나오는지, ..., 9가 총 몇 번 나오는지를 출력한다.
예제 입력 11
예제 출력 1 4 1 1 1 1 1 1 1 1
#include <stdio.h>
int main()
{
int num[10] = { 0, };
int tcase, i, val;
scanf("%d", &tcase);
for (i = 1; i <= tcase; i++)
{
val = i;
while (val){
num[val % 10]++;
val = val / 10;
}
}
for (i = 0; i <= 9; i++)
printf("%d ", num[i]);
}
그냥 무식하게 for문돌려서 했더니 시간 초과뜸......
뭔가 규칙이 있을거같은데 머리가 존나 아프네여..... ㅜㅜ
어떻게 풀어야할까요 하.
이전에 썼던글에 내가 댓글 남겨놨는데 못봤어?