BOJ - 9935(문자열 폭발) python 풀이입니다
어떻게 풀이?
맨 처음에는 bomb 문자 기준으로 split을 하고 그 값을 합쳐 string으로 만들어야겠다고 생각을 했다
하지만 일단 split 자체가 O(n)이 걸리기 때문에 시간이 너무 오래 걸려서 탈락~
다음으로 생각한 방법은 stack을 이용한 방법으로
문자를 하나씩 append해서
폭탄 문자가 만들어질 때 하나씩 제거하는 방식이다
코드
def solution():
string = input()
bomb = input()
length = len(bomb)
stack = []
for st in string:
stack.append(st)
while len(stack) >= length:
if ''.join(stack[-length:]) == bomb:
for _ in range(length):
stack.pop()
else : break
answer = ''.join(stack)
if answer == '':
answer = 'FRULA'
print(answer)
solution()