C언어/문제풀다 하나씩

문자열 내 빈도수 이용해서 문제풀기

mcdn 2020. 5. 21. 14:40
반응형

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int	bucket[26] = { 0 };

bool compare1(char a, char b) {
	return a > b;
}
bool compare2(char a, char b) {
	return bucket[a - 'A'] > bucket[b - 'A'];
}
int main() {
	string t;
	cin >> t;
	int num;
	cin >> num;
	sort(&t[0], &t[t.length()], compare1);
	//cout << t << endl;
	for (int i = 0; i < num;i++) {
		bucket[t[i] - 'A']++;
	}
	sort(&t[0], &t[num], compare2);
	cout << t[0];

}

한번은 제대로 sort하고

한번은 정해진 문자열 내에서 빈도수 맞춰서 sort함수 다시 정의함. 

반응형