はまやんはまやんはまやん

hamayanhamayan's blog

Acid Naming [Week of Code 36 A]

https://www.hackerrank.com/contests/w36/challenges/acid-naming/problem

Q個の文字列が与えられる。
3つのどのタイプに属すか答えよ

  • 「non-metal acid」 先頭が"hydro"で始まり、最後が"ic"で終わる
  • 「polyatomic acid」 最後が"ic"で終わる
  • 「non an acid」 その他

解法

判定すればいい。
C++ならsubstrを使うと先頭と末尾を高速に取ってこれる。

int Q;
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> Q;
    rep(q, 0, Q) {
        string s; cin >> s;
        int n = s.length();

        if (7 <= n) if (s.substr(0, 5) == "hydro" and s.substr(n - 2) == "ic") {
            printf("non-metal acid\n");
            continue;
        }

        if (s.substr(n - 2) == "ic") {
            printf("polyatomic acid\n");
            continue;
        }

        printf("not an acid\n");
    }
}