개발/algorithm
[백준 3986번] 좋은 단어 -python
zzi_on2
2022. 2. 4. 11:51
문제 링크
https://www.acmicpc.net/problem/3986
3986번: 좋은 단어
이번 계절학기에 심리학 개론을 수강 중인 평석이는 오늘 자정까지 보고서를 제출해야 한다. 보고서 작성이 너무 지루했던 평석이는 노트북에 엎드려서 꾸벅꾸벅 졸다가 제출 마감 1시간 전에
www.acmicpc.net
풀이
- A와 B가 교차해서 존재하면 안되고 짝수개 존재해야한다.
- 스택에서 나올 원소와 같다면 짝지어질 수 있으므로 pop
- 스택이 비었거나 스택에서 나올 원소와 같지 않나면 append
- 최종적으로 스택에 남아있는 원소가 없다면 cnt +1
test = int(input())
cnt = 0
for _ in range(test):
s = input()
stack = []
for i in s:
# 스택에서 나올 원소와 같다면
if stack and stack[-1] == i:
stack.pop()
else :
stack.append(i)
if not stack:
cnt += 1
print(cnt)