바이너리 문자열이 있다고 가정합니다. 우리의 임무는 문자열에 연속적인 동일한 문자가 있는지 여부를 확인하는 것입니다. 동일한 문자가 연속적으로 있으면 유효하지 않고 그렇지 않으면 유효합니다. 그러면 문자열 "101010"은 유효하지만 "10111010"은 유효하지 않습니다.
이 문제를 해결하기 위해 왼쪽에서 오른쪽으로 순회합니다. 두 개의 연속 문자가 같으면 false를 반환하고 그렇지 않으면 true를 반환합니다.
예시
#include <iostream>
#include <algorithm>
using namespace std;
bool isConsecutiveSame(string str){
int len = str.length();
for(int i = 0; i<len - 1; i++){
if(str[i] == str[i + 1])
return false;
}
return true;
}
int main() {
string str = "101010";
if(isConsecutiveSame(str))
cout << "No consecutive same characters";
else
cout << "Consecutive same characters found";
} 출력
No consecutive same characters