포도가게의 개발일지

python 백준 9935 문자열폭발 본문

백준

python 백준 9935 문자열폭발

grape.store 2021. 11. 28. 19:29
반응형

 

https://www.acmicpc.net/problem/9935

 

9935번: 문자열 폭발

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

www.acmicpc.net

 

1. 문제? string에서 원하는 값 찾아서 지우기

2. 어려웠던점 처음엔느 pythom에서 제공하는 replace함수를 이용하여 쉽게 구현할려했지만 47%에서 바로 시간초과로 터져버렸다

-> 그래서 문제 힌트를 보고 stack을 도입하여 clear 

-> 이러한 string문제에 대해 경험을 충분히 쌓아여되서 좋은 문제였던거같다

import sys
sys.stdin = open('inputs.text')

que = sys.stdin.readline().strip()
search = sys.stdin.readline().strip()
# while que:
#   temp = que
#   que = que.replace(search, '')
#   if(temp == que):
#     break

# if(len(que)==0):  
#   print('FRULA')
# else:
#   print(que)
    
stack = []
last_alpha = search[-1]
length_search = len(search)
for alphabet in que:
  stack.append(alphabet)
  if alphabet == last_alpha and "".join(stack[-length_search:])==search:
    del stack[-length_search:]

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

'백준' 카테고리의 다른 글

python 백준 2193 이친수  (0) 2021.09.15
python 백준 13305 주유소  (0) 2021.09.14
python 15903 카드 합체 놀이  (0) 2021.09.13
python 백준 5557 1학년(dp)  (0) 2021.09.01
python 백준 1946 신입사원  (0) 2021.08.30
Comments