[알고리즘][파이썬] 백준 9935번 - 문자열 폭발


처음 떠올렸던 접근 방법

  1. 문자열을 앞에서부터 읽어가며 스택에 추가하고, 폭발 문자열이 형성되면 폭발 문자열을 제거해준다.
  2. 스택에 남아있는 요소가 없다면 FRULA를 출력하고, 그렇지 않다면 스택에 남아있는 요소들을 출력해준다.

최종 입력 코드

w = input()
p = input()
compare = []
for i in p:
    compare.append(i)
stack = []

for i in range(len(w)):
    stack.append(w[i])
    if stack[-len(p):] == compare:
        for _ in range(len(p)):
            stack.pop()
if len(stack) == 0:
    print("FRULA")
else:
    print("".join(stack))

이전에 풀었던 문제와 매우 유사한 문제를 찾게 되어서 풀어보았다.
자료구조, 그리디가 알고리즘에서 매우 기본적이고 중요한 요소인 만큼 많이 풀어봐야겠다.

좋은 웹페이지 즐겨찾기