WARush

SRMの結果とか、解けた問題のコードを書いていきます

SRM577 Div2 Easy "EllysNewNickname"

問題

http://community.topcoder.com/stat?c=problem_statement&pm=12459

エリーは母音( a, e, i, o, u, y )についてインターネット上で、
もはやカッコいいものではないと思われている事を最近になって知った。
そこで、彼女は使用しているハンドル名から母音をいくつか取り除くことにした。
エリーは新しいハンドル名は元のハンドル名の文字をなるべく残しつつも、
母音が連続してないものとしたい。

現在のエリーが使っているハンドル名 nickname が与えられるので、
新しいハンドル名の文字数を返せ。

制約

1 <= nicknameの文字数 <= 50


考えた事

やるだけ


ソースコード

class EllysNewNickname {
public:

    // この文字は母音か?
    bool isVowel( char c ){
        char vowels[] = { 'a', 'e', 'i', 'o', 'u', 'y' };
        for( int i = 0; i < 6; i++ ){
            if( c == vowels[i] ) return true;
        }
        return false;
    }

    int getLength(string nickname){
        
        int n = nickname.length();

        int res = 1;
        bool pVowel = isVowel( nickname[0] ); // 1文字前は母音だった?
        for( int i = 1; i < n; i++ ){
            if( isVowel( nickname[i] ) && !pVowel ){
                res++;
                pVowel = true;
            }
            if( !isVowel( nickname[i] ) ){
                res++;
                pVowel = false;
            }
        }

        return res;
    }
};