
<문제>
https://www.acmicpc.net/problem/25497
<풀이>
import sys
input = sys.stdin.readline
N = int(input())
skills = input().strip()
count = 0
stack_LR = []
stack_SK = []
for s in skills:
if s == 'L':
stack_LR.append(s)
elif s == 'S':
stack_SK.append(s)
elif s == 'R':
if stack_LR:
stack_LR.pop()
count += 1
else:
break
elif s == 'K':
if stack_SK:
stack_SK.pop()
count += 1
else:
break
else:
count += 1
print(count)
- input()에 strip을 해줘야 함.. /n이 들어가서 예상과 다르게 동작할 수 있음
- {()} 같은 스택 문제를 만드려다가 잘못 만든 것 같은 느낌이 든다. 중간에 기술이 끼어도 카운트가 되어버리는데 그러면 스택 문제가 아니지 않나..?
- 어쩔 수 없이 스택 2개를 사용
- 스택에 요소가 없을 때 pop을 하면 오류가 남
'TIL > [파이썬] 1일 1코테' 카테고리의 다른 글
| 막대기_백준17608 (0) | 2025.02.04 |
|---|---|
| 스택_백준10828 (0) | 2025.02.03 |
| 회상_백준32953 (0) | 2025.01.24 |
| 전주 듣고 노래 맞히기_백준31562 (0) | 2025.01.23 |
| 아 맞다 마늘_백준32978 (0) | 2025.01.22 |