1213번

seuls2·2023년 3월 30일

BOJ

목록 보기
22/55

1213

#include <iostream>
#include <map>
#include <algorithm>

using namespace std;

int main() {
	string s;
	map<char, int> m;
	cin >> s;
	for (int i = 0; i < s.length(); i++) {
		m[s[i]]++;
	}
	char center = '.';
	for (auto it = m.begin(); it != m.end(); it++) {
		if (it->second % 2 == 1) {
			if (center != '.') {
				cout << "I'm Sorry Hansoo";
				return 0;
			}
			center = it->first;
		}
	}
	string firstString = "";
	for (auto it = m.begin(); it != m.end(); it++) {
		while (true) {
			if (it->first != center && it->second == 0) break;
			else if (it->first == center && it->second == 1) break;
			firstString += it->first;
			it->second -= 2;
		}
	}
	if (center != '.') {
		cout << firstString + center;
	}
	else {
		cout << firstString;
	}
	reverse(firstString.begin(), firstString.end());
	cout << firstString;
	
}
profile
공부 기록용 ( ᵕ·̮ᵕ )♩

0개의 댓글