🍧 μ½”λ”©ν…ŒμŠ€νŠΈ

[μΈν”„λŸ° C++] 13. κ°€μž₯ 많이 μ‚¬μš©λœ 자릿수

peewoong 2024. 3. 21. 16:51

N자리의 μžμ—°μˆ˜κ°€ μž…λ ₯되면 μž…λ ₯된 μžμ—°μˆ˜μ˜ 자릿수 쀑 κ°€μž₯ 많이 μ‚¬μš©λœ 숫자λ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ„Έμš”.

예λ₯Όλ“€μ–΄ 1230565625λΌλŠ” μžμ—°μˆ˜κ°€ μž…λ ₯되면 5κ°€ 3번 μ‚¬μš©λ˜μ–΄ κ°€μž₯ 많이 μ‚¬μš©λœ μˆ«μžμž…λ‹ˆλ‹€. 닡이 μ—¬λŸ¬ 개일 경우 κ·Έ 쀑 κ°€μž₯ 큰 수λ₯Ό 좜λ ₯ν•˜μ„Έμš”.

 

μž…λ ₯

첫 쀄에 μžμ—°μˆ˜κ°€ μž…λ ₯λ©λ‹ˆλ‹€. μžμ—°μˆ˜μ˜ κΈΈμ΄λŠ” 100을 λ„˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

1230565625

 

좜λ ₯

κ°€μž₯ 많이 μ‚¬μš©λœ 자릿수λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.

5

 

#include <iostream>
using namespace std;

int ch[10]; // 0~9κΉŒμ§€ 카운트 
int main(void){
	int i, digit, res, max = -2147000000;
	char a[101]; // 100자리 μžμ—°μˆ˜
	
	cin >> a;
	for(int i = 0; a[i] != '\0'; ++i){
		digit = a[i] - 48;
		ch[digit]++;
	}
	
	for(int i = 0; i <= 9; ++i){
		if(ch[i] >= max){
			max = ch[i];
			res = i;
		}
	}
	
	cout << res;
	return 0;
}