solution
1. 파이썬에서 문자열은 값 못 바꿈 → 배열 변환(stack을 이용하였다)
2. 끝의 글자가 같으면 폭발 문자열의 길이만큼 비교하며, 같으면 pop
# 9935, 문자열 폭발
import sys
s1 = sys.stdin.readline().rstrip()
s2 = sys.stdin.readline().rstrip()
s1 = list(s1)
s2 = list(s2)
stack = []
for ch in s1:
stack.append(ch)
if ch == s2[-1]:
for i in range(1, len(s2)+1):
if len(stack)<len(s2):
break
if stack[-i] != s2[-i]:
break
else:
for i in range(len(s2)):
if stack:
stack.pop()
if stack:
print("".join(stack))
else:
print("FRULA")
if len(stack)<len(s2):
break
없으면 런타임 에러
ex)
12ab112ab2abb
12ab
문제 출처 www.acmicpc.net/problem/9935
9935번: 문자열 폭발
첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모
www.acmicpc.net
'알고리즘 > 문자열 처리' 카테고리의 다른 글
자바 | 백준 | 12904 | A와 B | 문자열 뒤집기 (0) | 2021.04.30 |
---|---|
파이썬 | 백준 | 1543 | 문서 검색 (0) | 2020.08.20 |
파이썬 | 백준 | 4949 | 균형잡힌 세상 (0) | 2020.08.19 |
파이썬 | 백준 | 10546 | 배부른 마라토너 (0) | 2020.08.18 |