[問題]
・連続する母音(a/e/i/o/u/y)は、1文字に圧縮する。
・ある文字列が与えられた時、圧縮後の文字列長を返せ。
・ある文字列は、英字小文字のみで構成される。
[例]
・"eagaeoppooaaa" ⇒ "ea-g-aeo-p-p-ooaaa" ⇒ 6
#include <iostream>
#include <string>
using namespace std;
class EllysNewNickname
{
public:
int getLength(string nickname);
private:
int isVowel(char c);
};
int EllysNewNickname::isVowel(char c){
if(c == 'a' || c == 'e' || c == 'i' || c == 'o' || \
c == 'u' || c == 'y'){
return 1;
}
return 0;
}
int EllysNewNickname::getLength(string nickname)
{
int length = 1;
char c;
char c_pre;
for(int i=1;i<nickname.size();i++){
c_pre = nickname.at(i-1);
c = nickname.at(i);
if (!isVowel(c_pre) && isVowel(c) || !isVowel(c)){
length++;
}
}
return length;
}