문제
[백준] 25497번: 기술 연계마스터 임스
https://www.acmicpc.net/problem/25497
코드
#include <iostream>
#include <stack>
using namespace std;
int main() {
int N;
int ans = 0;
string skills;
cin >> N;
cin >> skills;
stack<char> sk;
stack<char> lr;
for (auto s : skills) {
if (s == 'S') sk.push(s);
if (s == 'L') lr.push(s);
if (s == 'K') {
if (!sk.empty()) {
ans++;
sk.pop();
} else
break;
}
if (s == 'R') {
if (!lr.empty()) {
ans++;
lr.pop();
} else
break;
}
if (s >= '1' && s <= '9')
ans++;
}
cout << ans;
return 0;
}
풀이
SK를 위한 스택과 LR을 위한 스택을 각각 따로 두고
문자열을 순회하면서 S
를 만나면 SK 스택
에, L
을 만나면 LR 스택
에 저장한다.
K
를 만났을 때 SK 스택
에 문자가 있다면(S
가 있다면) 스택을 pop한다.
R
을 만났을 때 LR 스택
에 문자가 있다면(L
이 있다면) 스택을 pop한다.
느낀 점
처음에는 단순한 문자열 문제로 접근했어서, erase
, find
함수를 사용해 일일이 문자를 제거하는 프로그램을 작성했다.
그랬더니 테케는 다 통과했는데 틀렸습니다가 떠서 결국 다른 분의 풀이를 참고했다 . .
(참고: https://hjkl0316.tistory.com/entry/백준25497번-기술-연계마스터-임스)
비기너 문제도 점점 어려워지는 느낌..!? 분발해야겠다..!
'99클럽 TIL' 카테고리의 다른 글
99클럽 코테 스터디 19일차 TIL + 힙(C++) (0) | 2024.11.15 |
---|---|
99클럽 코테 스터디 18일차 TIL + 큐(C++) (1) | 2024.11.14 |
99클럽 코테 스터디 16일차 TIL + 그리디(C++) (0) | 2024.11.12 |
99클럽 코테 스터디 15일차 TIL + 스택/큐(C++) (1) | 2024.11.12 |
99클럽 코테 스터디 14일차 TIL + 스택/큐(C++) (0) | 2024.11.11 |