백준 3986 좋은 단어

좋은 단어

문제는 백준에서 확인 할 수 있다.


✔ 접근방법

  • 스택

스택을 이용하여 같은 두 문자가 만나는지 체크
입력 받은 문자열이 조건을 만족하면 좋은 단어


✔ 코드

import sys

def solution(string):
    stack = []

    for i in range(len(string)):
        # print(stack)
        if len(stack) >= 1 and stack[-1] == string[i]:
                stack.pop()
        else:
            stack.append(string[i])

    # print(stack)
    
    if len(stack) == 0:
        return True
    else:
        return False


if __name__ == "__main__":
    N = int(input())
    
    arr = []
    cnt = 0
    for _ in range(N):
        string = sys.stdin.readline().rstrip()
        
        if solution(string) == True:
            cnt += 1

    print(cnt)

    

☝ 팁

주어진 상황에 어떠한 자료구조가 적합한지 판단하는 연습을 꾸준히 하자

좋은 웹페이지 즐겨찾기