[HackerRank/C++] Beautiful Binary String
2023. 3. 10. 16:36ㆍ코딩테스트 해커랭크/Algorithms -Easy
문자열 b 안에 "010"이 몇번 포함되어 있는지 return 한다
int beautifulBinaryString(string b)
{
int result = 0;
int index = 0;
string findString = "010";
while (true)
{
index = b.find(findString, index);
if (index == std::string::npos)
break;
++result;
index += findString.length();
}
return result;
}
갯수를 카운트할 result, 검색한 위치를 저장할 index, 찾을 문자열 findString을 선언한다
반복문을 돌며 find 함수로 index부터 findString의 문자가 포함되어 있는지 검사해 값을 index에 저장한다
찾지 못했다면 std::string::npos를 반환하므로 npos일 경우 break로 빠져나온다
찾았다면 find의 반환값을 문자열이 시작되는 인덱스기 때문에 index에 findString.length()만큼의 값을 더해주고 result의 값을 더한다
반복문이 종료되면 result의 값을 return 한다
'코딩테스트 해커랭크 > Algorithms -Easy' 카테고리의 다른 글
| [HackerRank/C++] Closest Numbers (0) | 2023.03.14 |
|---|---|
| [HackerRank/C++] The Love-Letter Mystery (0) | 2023.03.10 |
| [HackerRank/C++] Funny String (0) | 2023.03.06 |
| [HackerRank/C++] Pangrams (0) | 2023.03.02 |
| [HackerRank/C++] HackerRank in a String! (0) | 2023.03.02 |