백준 5525 IOIOI (C++)

안유태·2023년 8월 21일
0

알고리즘

목록 보기
131/239

5525번: IOIOI

문자열을 이용한 문제이다. 반복문을 돌면서 I 인 경우 while을 실행한다. while문을 돌면서 s[i + 1] == 'O', s[i + 2] == 'I'가 만족할 경우 카운트를 해주고 이를 반복한다. 어렵지 않게 풀 수 있었다.



#include <iostream>

using namespace std;

int N, M;
string s;

void solution() {
    int result = 0;

    for (int i = 0; i < M; i++) {
        int o = 0;

        if (s[i] == 'I') {
            while (s[i + 1] == 'O' && s[i + 2] == 'I') {
                o++;
                i += 2;
                if (o == N) {
                    result++;
                    o--;
                }
            }
            o = 0;
        }
    }

    cout << result;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);

    cin >> N;
    cin >> M;
    cin >> s;

    solution();

    return 0;
}
profile
공부하는 개발자

0개의 댓글