BAEKJOON Online Judge(BOJ) 문제입니다.
Baekjoon Online Judge
Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.
www.acmicpc.net
문제
https://www.acmicpc.net/problem/9935
9935번: 문자열 폭발
첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모
www.acmicpc.net
내가 작성한 코드
None
- 다양한 시도를 했지만 타임아웃
- 폭발 문자열이 in이면 replace
- 폭발한 문자열 잘라서 나머지 문자열에 대해 재귀
- 반복문으로 탐색시 첫 문자가 마지막으로 탐색된 곳부터 다시 탐색
다른 사람이 작성한 코드
s = input()
bomb = input()
stk = []
last_char = bomb[-1]
for c in s:
stk.append(c)
if c == last_char and ''.join(stk[-len(bomb):]) == bomb:
del stk[-len(bomb):]
if stk:
print(''.join(stk))
else:
print("FRULA")
- 정말 오래 고민했는데 허무하게도 매우 간결하다
기억해야할 것
- prefix만 생각했는데, suffix로 이렇게 쉽게 풀 줄 몰랐다
- 문자열을 풀 때 항상 두 가지 모두 고려하자
'코딩테스트' 카테고리의 다른 글
[백준][문자열] AC (0) | 2021.08.10 |
---|---|
[백준][문자열] 전화번호 목록 (0) | 2021.08.10 |
[프로그래머스][KAKAO_BLIND][2021] 광고 삽입 (0) | 2021.08.07 |
[프로그래머스][KAKAO_BLIND][2021] 메뉴 리뉴얼 (0) | 2021.08.07 |
[프로그래머스][KAKAO_BLIND][2021] 신규 아이디 추천 (0) | 2021.08.07 |