728x90
문자열 문제입니다.
뒤의 문자를 확인하여, 그 문자에 해당하는 끝자리로 바꿔주면 됩니다.
#include <iostream>
using namespace std;
int n;
string s;
char e[12] = { 'a', 'i', 'y', 'l', 'n', 'o', 'r', 't', 'u', 'v', 'w', 'e' };
void add(char c)
{
if (c == 'e' && s[s.length() - 2] != 'n'){
c = ' ';
}
switch (c) {
case 'a':
s += "s";
break;
case 'i':
s += "os";
break;
case 'y':
s[s.length() - 1] = 'i';
s += "os";
break;
case 'l':
s += "es";
break;
case 'n':
s[s.length() - 1] = 'a';
s += "nes";
break;
case 'o':
s += "s";
break;
case 'r':
s += "es";
break;
case 't':
s += "as";
break;
case 'u':
s += "s";
break;
case 'v':
s += "es";
break;
case 'w':
s += "as";
break;
case 'e':
s[s.length() - 2] = 'a';
s[s.length() - 1] = 'n';
s += "es";
break;
default:
s += "us";
break;
}
}
int main(int argc, char* argv[])
{
cin >> n;
for (int i = 0; i < n; ++i) {
cin >> s;
add(s[s.length() - 1]);
cout << s << endl;
}
return 0;
}
'알고리즘' 카테고리의 다른 글
[C++] 백준 10699번 오늘 날짜 (0) | 2019.09.28 |
---|---|
[C++] 백준 1547번 공 (0) | 2019.09.28 |
[C++] 백준 2914번 저작권 (0) | 2019.09.27 |
[C++] 백준 11942번 고려대는 사랑입니다. (0) | 2019.09.27 |
[C++] 백준 5598번 카이사르 암호 (0) | 2019.09.27 |