728x90
반응형
목차
https://www.acmicpc.net/problem/4659
문제
코드 구현
#include <iostream>
#include<map>
#include<algorithm>
using namespace std;
map<char, int> m; //모음 넣을 map
bool check(string str) {
int cnt = 0; //모음 존재여부
int pass1 = 0; //모음 세어줌
int pass2 = 0; //자음 세어줌
for (int i = 0; i < str.size(); i++) {
if (m[str[i]])
cnt++; //모음 존재여부
if (m[str[i]]) {
pass2 = 0;
pass1++;
}
else {
pass1 = 0;
pass2++;
}
if (pass1 >= 3 || pass2 >= 3) {
return false; //연속 3개이상일 경우 x
}
if (i >= 1) {
char ex = str[i - 1]; //그 전 문자열 비교
if (ex != 'e' && ex != 'o') {
if (ex == str[i])
return false;
}
}
}
if (cnt == 0) //모음 없을 경우x
return false;
else
return true;
}
int main()
{
string str;
m.insert({ 'a', 1 });
m.insert({ 'e', 1 });
m.insert({ 'i', 1 });
m.insert({ 'o', 1 });
m.insert({ 'u', 1 });
while (true) {
cin >> str;
if (str.compare("end") ==0)
break;
if (check(str))
cout << "<" << str << ">" << " is acceptable.\n";
else
cout << "<" << str << ">" << " is not acceptable.\n";
}
}
반응형
'백준 문제풀이' 카테고리의 다른 글
[백준][브루트 포스] 1436번 영화감독 숌 c++구현 (0) | 2024.04.30 |
---|---|
[백준][문자열] 2852 NBA 농구 c++구현 (0) | 2024.04.30 |
[정렬][맵][백준] 2910 빈도 정렬 c++ 구현 (0) | 2024.04.12 |
[백준][dfs] 2583 영역 구하기 c++ 구현 (0) | 2024.04.04 |
[백준][bfs] 2468 안전 영역 c++ 구현 (0) | 2024.04.02 |