본문 바로가기

코딩테스트/Python

[Python] 백준 #9935 - 문자열 폭발

문제


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

 

9935번: 문자열 폭발

첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모

www.acmicpc.net

 

 

 

풀이


ss = input()
m = list(input())

stack = []

for i in range(len(ss)):
    stack.append(ss[i]) # 스택에 하나씩 추가
    if stack[-len(m):] == m: # 스택의 마지막이 m 문자열과 같으면
        del stack[-len(m):] # 삭제

if stack: print("".join(stack))
else: print("FRULA")

스택에 단어를 하나씩 추가하면서 스택의 마지막이 m 문자열과 같으면 삭제해준다.