반응형
https://leetcode.com/problems/check-if-binary-string-has-at-most-one-segment-of-ones/
📕 풀이방법
📔 입력 및 초기화
연속된 1의 구간 개수 segment를 선언 후 0으로 초기화해줍니다.
📔 풀이과정
s의 원소를 순회하며 다음을 수행합니다.
1. 현재 원소가 '1'이라면 연속된 1만큼 index를 증가시켜주고
2. 해당 구간을 파악했으므로 segment를 1 더해줍니다.
📔 정답출력
segment 개수가 1이하인지 여부를 반환합니다.
📕 Code
📔 C++
class Solution {
public:
bool checkOnesSegment(string s) {
int segment = 0;
for(int i = 0; i < s.size(); i++) {
if (s[i] == '1') {
while(i + 1 < s.size() && s[i] == s[i+1]) i++;
segment++;
}
}
return segment <= 1;
}
};
📕 Test Case
몇 가지 반례를 직접 작성해 보았습니다.
input
"10101"
답
false
input
"10000"
답
true
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.