けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

AtCoder ABC 345 A - Leftrightarrow (7Q, 灰色, 100 点)

教育的な for 文の問題!

問題概要

<, =, > のみからなる文字列  S が与えられる。

  • 先頭の文字が <
  • 末尾の文字が >
  • それ以外の文字が =

という条件を満たすかどうかを判定せよ。

考えたこと

先頭が「<」であることや、末尾が「>」であることは容易に判定できる。

それ以外の文字については、文字列  S のサイズを  N としたとき、 i = 1, 2, \dots, N-2 について文字  S_{i} を順に見ていけばよい(0-indexed としている)。

コード

#include <bits/stdc++.h>
using namespace std;

int main() {
    string S;
    cin >> S;

    if (S[0] != '<' || S.back() != '>') {
        cout << "No" << endl;
        return 0;
    } 
    for (int i = 1; i < S.size() - 1; ++i) {
         if (S[i] != '=') {
            cout << "No" << endl;
            return 0;
        }
    }
    cout << "Yes" << endl;
}