개발 공부/알고리즘
[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을 사용할 수 있다.