오늘의 알고리즘
[C++] 백준 5545 IOIOI
하늘하늘 .
2022. 9. 14. 23:40
#include <iostream>
#include <string>
int main()
{
std::ios_base::sync_with_stdio(false);
std::cin.tie(NULL);
int N = 0;
int M = 0;
std::cin >> N >> M;
std::string s = {};
std::cin >> s;
int iAns = 0;
for (int i = 0; i < M; ++i)
{
int iCount = 0;
if (s[i] == 'O')
continue;
else
{
while (s[i + 1] == 'O' && s[i + 2] == 'I')
{
++iCount;
if (iCount == N)
{
--iCount;
++iAns;
}
i += 2;
}
iCount = 0;
}
}
std::cout << iAns;
return 0;
}
I가 무조건 시작이어야 합니다. IOIOI순서니까 2개씩 찾아도 됩니다.
--iCount는 찾았으면 다음으로 넘어갔을 때 찾아야 때문입니다.