#include <iostream>
#define LIMIT 1000000000
int main(){
int input;
int result[10] = {0}; //모든값을 0으로 초기화
int temp;
do{
std::cin >> input;
if(!(1<input && input <= LIMIT))
std::cout<< "범위초과" << std::endl;
}while(!(1<input && input <= LIMIT)) ;
for ( int n = 1 ; n <= input ;n++ )
{ temp = n;
while(temp >= 10)
{
result[temp%10] += 1;
temp = temp /10;
}
result[temp] += 1;
}
for( int n = 0 ; n < 10 ; n++){
std::cout << result[n] << " ";
} std::cout << std::endl;
}
나도 아직 학생이라 잘모르지만 해봄
될까 싶어서 그냥 생각나는 대로 쳐봤는데 안되네 1천만까지만 되고
1억 이후는 ㅈㅈ 이게 제일 무식한 방법이니까
유식한 방법을 쓰면 되겠지
1부터 n 까지 일일히 때려넣는게아니래 ㅠㅠㅠ 형아를까는건아닌데 일케할수잇다면 바루짯지 ㅠㅠㅠㅠ흐엉 나두답답햐에에
엥? input 13 쓰면
1 6 2 2 1 1 1 1 1 1 나오는거 아님?
10000 쓰면 2893 4001 4000 4000 4000 4000 ...
내가 안된다는건 결과가 안나온다는 소리가 아니라 알고리즘을 무식하게 짜서 시간이 오래걸린다는건데... 10억이 2초 내로 안나옴
앙 형꺼가 틀린건아냐 긍데 복잡도가 엄청니서... 더 생각해볼게 ㅎ 고마웡
For 1 to n 을 안쓰고는가능할까?
안쓰고 가능
음//어떻게????