https://www.acmicpc.net/problem/9935
나의 코드
1. 문자열에 추가하면서 폭발 문자열이 있을 때 replace로 없애기(시간초과)
import sys
arr = sys.stdin.readline().strip()
word = sys.stdin.readline().strip()
ans = word[::-1]
string = ''
for i in range(len(arr)-1,-1,-1):
string += arr[i]
if len(string) >= len(word):
if ans in string:
string = string.replace(ans, '')
if len(string) == 0:
print('FRULA')
else:
print(string[::-1])
2. 스택에 추가하면서 폭발 문자열이 있을 때 pop으로 없애기(성공)
import sys
arr = sys.stdin.readline().strip()
word = sys.stdin.readline().strip()
ans = word[::-1]
stack = []
for i in range(len(arr)-1,-1,-1):
stack.append(arr[i])
if len(stack) >= len(word):
if ''.join(stack[(-len(word)):]) == ans:
for k in range(len(word)):
stack.pop()
if len(stack) == 0:
print('FRULA')
else:
print(''.join(stack[::-1]))
결과

같은 로직인데 replace로 지우는 건 새로운 문자열을 만드는 것이다 보니 시간이 더 많이 걸리는 것 같다. 그나저나 뒤에서부터 보면 된대서 아예 뒤에서부터 보면서 뒤에꺼 넣고 그랬는데 그냥 앞에서부터 돌면서 뒤의 문자열만 보면 됐나보다... 멍청했군ㅋㅋㅋㅋㅋㅋㅋㅋ
'스터디 1일 1커밋' 카테고리의 다른 글
| 240527 [BOJ/백준] 10773. 제로 (0) | 2024.05.27 |
|---|---|
| 240527 [BOJ/백준] 2193. 이친수 (0) | 2024.05.27 |
| 240511 [BOJ/백준] 13335. 트럭 (0) | 2024.05.11 |
| 240511 [BOJ/백준] 9012. 괄호 (0) | 2024.05.11 |
| 240508 [BOJ/백준] 10026. 적록색약 (0) | 2024.05.08 |