[백준] 문자열 폭발

쏠로몬·2021년 12월 4일
0

접근 방법 : 슬라이싱, 스택

문자열에서 폭탄 문자열을 찾아서 제거하는 문제 쉽게 생각했는데 못풀었다.
문자열을 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)
profile
이사가요~ 티스토리 블로그 입니다. https://help-solomon.tistory.com/

0개의 댓글