개발 공부/알고리즘

[Python] 백준 9935 문자열 폭발 문제 (스택, 문자열 메서드 join)

김불 2025. 3. 27. 15:03

백준 9935 문자열 폭발 문제를 파이썬으로 풀어보자

 

 

 

 

스택을 이용하여 괄호 문제를 풀었다면 쉽게 이해할 수 있는 문제이다.

대신 join() 메서드를 알고 있으면 좋다.

 

import sys
input = sys.stdin.readline

stack = []

n = input().strip()
bomb = input().strip()

stack = []

for char in n:
  stack.append(char)
  if len(stack) >= len(bomb):
    if ''.join(stack[-len(bomb):]) == bomb:
      stack = stack[:-len(bomb)]

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

 

 

 

 


배운 점

 

문자열 메서드는 split() 과 join()을 꼭 알아두어야 한다.

여태까지 입력값을 받을 때 split은 수없이 많이 봤는데 join은 이번 문제를 통해 처음으로 학습했다.

쉽게 나눌 때는 split() 붙일 때는 join()을 사용하면 된다.

 

s = "I am learning Python"

# 공백 기준으로 나누기
words = s.split()  # ['I', 'am', 'learning', 'Python']

# 다시 하나의 문자열로 붙이기 , 공백 넣을지 말지 결정
result = ' '.join(words)  # "I am learning Python"
result = ''.join(words)  # "IamlearningPython"

 

리스트가 숫자일 때는 적용되지 않아서 map을 통해 str로 변경 후 join을 사용할 수 있다.