[Python] 백준 3986 좋은 단어

·2024년 11월 25일

알고리즘 스터디

목록 보기
23/26

좋은 단어

문제

  • 좋은 단어 -> 같은 글자끼리 (A는 A끼리, B는 B끼리) 쌍을 짓는 것
  • 좋은 단어 개수 세기

풀이

스택이 비었다면 스택에 값을 넣어주고, 스택의 가장 뒷 값과 같으면 pop 해주기. 아니라면 값을 또 넣어주고 반복하기.

마지막에 stack이 비었다면 개수 세주기!!

N = int(input())
count = 0
for i in range(N):
    a = list(input().rstrip())

    stack = []
    for j in a:
        if not stack:
            stack.append(j)
        else:
            if stack[-1] == j:
                stack.pop()
            else:
                stack.append(j)

    if not stack:
        count += 1

print(count)
profile
꾸준히 공부하기

0개의 댓글