백준 23797번: 개구리

Seungil Kim·2022년 2월 16일
0

PS

목록 보기
171/206

개구리

백준 23797번: 개구리

아이디어

K로 끝난 개구리, P로 끝난 개구리가 몇마리인지 기록한다. K로 끝난 개구리가 있는데 P가 입력되면, k--, p++를 하고(합쳐지니까), K로 끝난 개구리 없이 그냥 P가 입력되면 p++만 한다.
그중 가장 최대였던 k 혹은 p의 값이 정답이다.

코드

#include <bits/stdc++.h>

using namespace std;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    string s;
    cin >> s;

    int k = 0, p = 0; // 마지막에 k, p로 끝난 개구리 몇마리?
    int ans = 1;
    if (s[0] == 'K') k++;
    else p++;
    for (int i = 1; i < s.size(); i++) {
        if (s[i] == 'K') {
            k++;
            if (p) p--;
        }
        else {
            p++;
            if (k) k--;
        }
        ans = max(ans, max(k, p));
        // cout << k << ' ' << p << ' ' << ans << '\n';
    }
    cout << ans;
    return 0;
}

여담

이런 쉬운 문제도 한참 걸린다니.. 어디가서 백준 플레티넘이라고 하면 돌맞을듯. 실버인척 해야겠다.

profile
블로그 옮겼어용 https://ks1ksi.io/

0개의 댓글