for 文を回しながら「隣接要素」も同時に見ていく系
問題概要
文字 M, F からなる長さ の文字列
が与えられる。
この文字列中に同じ文字が連続している箇所が存在しないならば "Yes"、存在するならば "No" を出力せよ。
考えたこと
for 文を用いて、文字列 の
番目の文字
S[i] にアクセスしながら、同時に 番目の文字
S[i+1] にもアクセスして
S[i] == S[i+1] かどうか
を判定していけばよい。ある に対して
S[i] == S[i+1] である場合には "No" を出力すればよい。
コード
#include <bits/stdc++.h> using namespace std; int main() { int N; string S; cin >> N >> S; bool res = true; for (int i = 0; i + 1 < N; i++) { if (S[i] == S[i+1]) res = false; } cout << (res ? "Yes" : "No") << endl; }