[백준] 3986번 좋은 단어 _ 문제 풀이

 


1. 문제

https://www.acmicpc.net/problem/3986

2. 풀이

스택을 이용하여 문제를 해결하면 손쉽게 해결할 수 있습니다. 스택에 문자열을 넣으면서 같은 문자열이 2개 겹치면 바로 제거해줍니다. 아닌 경우 계속 진행하고 최종으로 배열에 아무 문자도 남아있지 않으면 좋은 단어로 판별합니다.

n = int(input())
ans = 0
for _ in range(n):
    stk = []
    for x in input():
        if len(stk) == 0:
            stk.append(x)
            continue

        if stk[-1] != x:
            stk.append(x)
        else:
            stk.pop()
    if len(stk) == 0:
        ans += 1
print(ans)