바이너리 문자열이 있다고 가정합니다. 우리의 임무는 문자열에 연속적인 동일한 문자가 있는지 여부를 확인하는 것입니다. 동일한 문자가 연속적으로 있으면 유효하지 않고 그렇지 않으면 유효합니다. 그러면 문자열 "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