접근 방법 : 슬라이싱, 스택
문자열에서 폭탄 문자열을 찾아서 제거하는 문제 쉽게 생각했는데 못풀었다.
문자열을 for문으로 하나씩 꺼내 temp list에 append하다가 폭탄 문자열 끝 문자가 일치하고 temp list와 폭탄 문자열 리스트가 일치하는 시점에서 폭탄 문자열의 크기만큼 pop을 해준다.
그 이후에 temp list에 남은 문자를 문자열로 만들어준 뒤 체크하여 문자열이 없다면 FRULA를 보낸다.
오랜만에 보니 슬라이싱 규칙이 잘 기억이 안났따... 기억하자!!
import sys
N = sys.stdin.readline().strip()
B = list(sys.stdin.readline().strip())
B_len = len(B)
B_last = B[-1]
temp_N = []
result = "FRULA"
for ch in N:
temp_N.append(ch)
if ch == B_last and B == temp_N[-B_len:]: # -B_len 번째 부터 끝까지 리스트 슬라이싱
for _ in range(B_len):
temp_N.pop()
temp_result = ''.join(temp_N)
if temp_result:
result = temp_result
print(result)