안녕하세요. 오늘은 연계를 할 거예요.
https://www.acmicpc.net/problem/25497
현재까지 나온 S와 L의 개수를 각각 저장해둡시다.
그리고 K와 R이 나왔을 때 S,L이 0이면 바로 종료를 합니다. 아니면 ++을 해주면 됩니다.
물론 숫자가 나오면 그냥 ++ 해주면 됩니다.
#include <iostream>
#include <string>
#define ll long long
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(false); cin.tie(NULL);
string s;
ll len, i, S = 0, L = 0, cnt = 0;
cin >> len >> s;
for (i = 0; i < len; i++)
{
if ('0' <= s[i] && s[i] <= '9') cnt++;
if (s[i] == 'S') S++;
if (s[i] == 'L') L++;
if (s[i] == 'K')
{
if (S)
{
S--;
cnt++;
}
else break;
}
if (s[i] == 'R')
{
if (L)
{
L--;
cnt++;
}
else break;
}
}
cout << cnt;
}
감사합니다.