隣接要素を見る問題。それは何気に結構難しいことだとも思う。
問題概要
4 文字の文字列が与えられます。
隣り合う文字が等しい箇所が存在するならば "Bad"、そうでなければ "Good" と答えてください。
解法
次のいずれかを満たせば "Bad" と答えれば OK
S[0] == S[1]
S[1] == S[2]
S[2] == S[3]
論理演算子「||
」を用いて判定できる ("Good" 側を判定するなら「&&
」)
#include <bits/stdc++.h> using namespace std; int main() { string S; cin >> S; if (S[0] == S[1] || S[1] == S[2] || S[2] == S[3]) cout << "Bad" << endl; else cout << "Good" << endl; }