안녕하세요. 오늘은 Tautogram인지 판별할 거예요.

문제

https://www.acmicpc.net/problem/5698

아이디어

일단 맨 앞글자만 따와서 벡터에 저장합니다.
그 다음에 벡터에 있는 모든 글자가 같은 글자인지 판별해주면 됩니다.

소스코드

#include <string>
#include <vector>
using namespace std;

char change(char c)
{
    if ('A' <= c && c <= 'Z') return c - 'A' + 'a';
    return c;
}
bool all_same(vector <char> v)
{
    int N = v.size();
    for (int i = 1; i < N; i++)
        if (change(v[0]) != change(v[i]))
            return false;
    return true;
}

int main(void)
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    string s;

    while (true)
    {
        getline(cin, s);
        if (s == "*") break;
        vector <char> v;

        v.push_back(s[0]);
        int len = s.length();
        for (int i = 0; i < len; i++)
            if (s[i] == ' ')
                v.push_back(s[i + 1]);
        if (all_same(v)) cout << "Y\n";
        else cout << "N\n";
    }
}


감사합니다.

0개의 댓글