백준 C++ 1213 팰린드롬만들기

1213번 팰린드롬 만들기



문제풀이

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int alpha[97];
string hol, zzac;
int main()
{
    string s;
    cin >> s;
    for (char i : s)
    {
        alpha[i]++;
    }
    for (char i = 'A'; i <= 'Z'; i++)
    {
        if (alpha[i] % 2)
        {
            hol += i;
        }
        for (int j = 0; j < alpha[i] / 2; j++)
        {
            zzac += i;
        }
    }
    if (hol.size() > 1)
    {
        printf("I'm Sorry Hansoo");
    }
    else
    {
        cout << zzac;
        cout << hol;
        reverse(zzac.begin(), zzac.end());
        cout << zzac;
    }
}

string , char에 대한 이해도가 낮아서 적절한 활용법을 잘 몰랐다. 그 결과, 기존에 하려던 복잡한 방식이 필요없이 간단하게 구현이 되었다. 천재들이 정말 많다.

좋은 웹페이지 즐겨찾기