문제

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

+ Recent posts