※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 25497번 문제인 기술 연계마스터 임스이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/25497
25497번: 기술 연계마스터 임스
$1$, $2$, $S$ - $K$, $2$로 스킬을 성공적으로 총 4번 사용했다.
www.acmicpc.net
주어지는 키입력을 순서대로 읽어나가며 주어진 입력을 따라 시뮬레이션을 돌려 스킬의 성공 횟수를 구해 문제를 해결하자.
구체적으로, 이번 차례에 입력된 키가 'L' 또는 'S'라면 해당 키가 입력으로 들어온 횟수를 늘려주고, 'R'또는 'K'라면 대응되는 사전 기술의 횟수를 1회 소모하며 스킬을 성공적으로 사용(횟수가 없다면 이후의 키입력을 무시), 그 외의 경우는 스킬을 성공적으로 1회 사용하는 것과 같은 과정을 시뮬레이션해 문제를 해결해주자. 이는 반복문을 이용해 구현할 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
#include <string>
using namespace std;
int slen;
string s;
int cnt[128];
int ans;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> slen >> s;
for (auto& l : s) {
if (l == 'S' || l == 'L') cnt[l]++;
else if (l == 'K') {
if (cnt['S']) cnt['S']--, ans++;
else break;
}
else if (l == 'R') {
if (cnt['L']) cnt['L']--, ans++;
else break;
}
else ans++;
}
cout << ans;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 25498 // C++] 핸들 뭘로 하지 (0) | 2023.09.26 |
---|---|
[BOJ 25496 // C++] 장신구 명장 임스 (0) | 2023.09.25 |
[BOJ 25499 // C++] Tipover Transform (0) | 2023.09.23 |
[BOJ 25500 // C++] 무자비한 최단 경로 (0) | 2023.09.22 |
[BOJ 24620 // C++] Sleeping in Class (0) | 2023.09.21 |