-
[백준] 9935번: 문자열 폭발(Python)Algorithm PS👩🏻💻/백준 2023. 8. 11. 02:33
문제 링크
https://www.acmicpc.net/problem/9935
9935번: 문자열 폭발
첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모
www.acmicpc.net
풀이
풀이 설명
- 분류: 문자열
- replace 를 썼더니 시간초과
- replace 의 빅오: O(문자열의 길이 * (교체할 문자열의 길이 + 교체되는 문자열의 길이/교체할 문자열의 길이))
- 그러므로 replace > slice > del 순서로 시간이 적게 걸린다는 것을 생각하자.
- 안될 경우 slice/del 로 바꿔보기
- slice - O(L[a:b]) => O(b-a)
- del - O(N)
sentence = input() burst = input() # stack stack = [] length = len(burst) for i in range(len(sentence)): stack.append(sentence[i]) if ''.join(stack[-length:]) == burst: del stack[-length:] answer = ''.join(stack) if not answer: print('FRULA') else: print(answer)
'Algorithm PS👩🏻💻 > 백준' 카테고리의 다른 글
[백준] 20056번: 마법사 상어와 파이어볼(구현, Python) (1) 2023.10.08 [백준] 5639번: 이진검색트리(Python) (0) 2023.08.11 [백준] 1068번: 트리(Python) (2) 2023.08.10 [백준] 7569번: 토마토(그래프이론, Python) (0) 2023.08.04 [백준] 2206번: 벽 부수고 이동하기(그래프, Python) (0) 2023.08.04