문제 링크
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)
'개발 > algorithm' 카테고리의 다른 글
[프로그래머스][level2] 주차요금 계산 -python (0) | 2022.02.04 |
---|---|
[프로그래머스][level2] 가장 큰 수 -python (0) | 2022.02.04 |
[백준 4949번] 균형잡힌 세상 -python (0) | 2022.02.04 |
[백준 1874번] 스택 수열 - python (0) | 2022.02.04 |
[백준 10828번] 스택 - python (0) | 2022.02.04 |