Hanbit the Developer
[문자열] Python - 12904번, A와 B 본문
S = list(input())
T = list(input())
lenS = len(S)
while lenS < len(T):
if T[-1] == 'A':
T.pop()
else:
T.pop()
T = T[::-1]
if T == S:
print(1)
else:
print(0)
무조건 S -> T로 bfs를 이용해서 풀고자 하였는데, 아무리 시간 복잡도를 줄여도 소용이 없었다.
실은, 특정 문자열을 얻기 위한 방법이 오로지 하나였다. 그렇지 않은 줄 알고 많은 경우를 고려하려고 하였던 것이다.
풀이법은 간단하다. T의 마지막 문자에 따라서, A만 없애거나, B를 없애고 뒤집거나, 둘 중 하나의 연산을 해주고, T가 결국 S의 길이와 같게 되면 비교를 해주는 것이다.
'Algorithm > 백준' 카테고리의 다른 글
[Python] 백준 1065번: 한수 (0) | 2021.04.16 |
---|---|
[Prefix Sum] Python - 백준 3020번: 개똥벌레 (0) | 2021.04.15 |
[그리디] Python - 11497번, 통나무 건너뛰기 (0) | 2021.04.12 |
[그래프] Python - 2252번, 줄 세우기 (0) | 2021.04.11 |
[DP] Python - 7579번, 앱 (0) | 2021.04.09 |