https://www.acmicpc.net/problem/9935
문제
주어진 문자열에서 특정 문자를 지운 후의 결과를 출력하는 문제이다.
풀이
스택을 이용하여 해결하였다.
word = list(input())
explode = list(input())
explodeLen = len(explode)
먼저 문자열과 지울 문자, 그리고 지울 문자의 길이를 초기화하였다.
for i in word:
q.append(i)
if q[len(q) - explodeLen : len(q)] == explode:
for _ in range(explodeLen):
q.pop()
그 후 먼저 스택에 문자열을 입력한 후
입력받은 문자를 포함하여 끝부분이 지울 문자와 같다면 ( if q[len(q) - explodeLen : len(q)] == explode: )
해당 문자의 길이만큼 스택에서 pop한다.
이런식으로 하나씩 입력받고 검증하면 폭발 문자열 안에 폭발 문자열이 있는경우 (CC44) 와 같은 경우에도 대응할 수 있다.
코드
from collections import deque
word = list(input())
explode = list(input())
explodeLen = len(explode)
q = []
for i in word:
q.append(i)
if q[len(q) - explodeLen : len(q)] == explode:
for _ in range(explodeLen):
q.pop()
if q:
print(*q, sep='')
else:
print("FRULA")
'알고리즘' 카테고리의 다른 글
[코드트리 파이썬] 1차원 바람 (0) | 2024.03.02 |
---|---|
[코드트리 파이썬] 금 채굴하기 (0) | 2024.02.29 |
[백준 파이썬] 1068 트리 (1) | 2024.02.25 |
[백준 파이썬] 2133 타일 채우기 (0) | 2024.02.22 |
[백준 파이썬] 2294 동전 2 (1) | 2024.02.19 |