본문 바로가기

boj

백준 9935 문자열 폭팔

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

 

9935번: 문자열 폭발

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

www.acmicpc.net

아이디어만 떠올리면 쉽다 (그래서 어렵다)

먼져, stack에 하나씩 넣는다.

그후, stack의 마지막 문자가 폭팔문자의 마지막이면,

폭팔문자수만큼 확인하면서 빼버린다.

s=list(input())
boom=list(input())
stack=[]

for i in range(len(s)):
    stack.append(s[i])
    if stack[-1]==boom[-1] and len(stack)>=len(boom):
        if stack[-len(boom):]==boom:
            del stack[-len(boom):]

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

'boj' 카테고리의 다른 글

11279최대힙  (0) 2022.07.06
11659 구간합 구하기 4  (0) 2022.07.05
백준10026적록색약  (0) 2022.05.18
백준1062 가르침  (0) 2022.05.18
백준 16928 뱀과 사다리 게임  (0) 2022.05.16