프론트엔드 개발자 중규리 입니다 ദി ᷇ᵕ ᷆ ) 자세히보기

PS/문제풀이

백준 9935 문자열 폭발 Python

중규리 2024. 2. 6. 15:11

🐸 문제 정보

 

9935번: 문자열 폭발

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

www.acmicpc.net

 

🤖 알고리즘

스택

 

⏱️ 풀이 시간

18.22m

 

📝 풀이

왜인지 모르겠지만 엄청 유명한(?) 문제였던걸로 기억한다.

문제 제목을 엄청 많이 들어봤는데, 사실 생각보다 어렵지 않은 문제였다.

문자열을 돌면서 폭탄 문자열의 길이만큼 비교해보고, 만약 폭탄 문자열이 들어간 상태라면 그만큼 pop하면 된다.

 

🧑‍💻 나의 답

# pypy3

import sys
input = sys.stdin.readline

string = list(input().rstrip())
bomb = list(input().rstrip())
bl = len(bomb)

stack = []
for letter in string:
    stack.append(letter)
    if stack[-bl:] == bomb:
        for _ in range(bl):
            stack.pop()

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

'PS > 문제풀이' 카테고리의 다른 글

백준 20208 진우의 민트초코우유 Python  (0) 2024.02.07
백준 16960 스위치와 램프 Python  (0) 2024.02.07
백준 15961 회전 초밥 Python  (1) 2024.02.06
백준 1074 Z Python  (1) 2024.02.06
백준 5883 아이폰 9S Python  (0) 2024.02.06