문제
N자리의 자연수가 입력되면 입력된 자연수의 자릿수 중 가장 많이 사용된 숫자를 출력하는 프 로그램을 작성하세요. 예를 들어 1230565625라는 자연수가 입력되면 5가 3번 상용되어 가장 많이 사용된 숫자입니 다. 답이 여러 개일 경우 그 중 가장 큰 수를 출력하세요.
입력설명
첫 줄에 자연수가 입력됩니다. 자연수의 길이는 100을 넘지 않습니다.
출력설명
자릿수의 곱을 출력합니다.
입력예제
1230565625
출력예제
5
#include<stdio.h>
using namespace std;
int check[10];
int main(){
freopen("input.txt", "rt", stdin);
int i, digit, max=-2147000000, result;
char n[101];
scanf("%s", &n);
for(i=0; n[i]!='\0'; i++){
digit = n[i] - 48;
check[digit]++;
}
for(i=0; i<10; i++){
if(check[i] >= max){
max = check[i];
result = i;
}
}
printf("%d", result);
return 0;
}
문자열로 받아서 처리를했는데 굳이 int형으로 받으려면 while문으로도 받을수있을것으로 보입니다
'알고리즘 > it 취업을 위한 알고리즘 문제풀이' 카테고리의 다른 글
15. 소수의 개수 (0) | 2021.05.17 |
---|---|
14. 뒤집은 소수 (0) | 2021.05.17 |
12. 숫자의 총 개수(large) (0) | 2021.05.15 |
11. 숫자의 총 개수(small) (0) | 2021.05.13 |
10. 자릿수의 합 (0) | 2021.05.13 |