728x90
반응형
https://www.acmicpc.net/problem/12919
12919번: A와 B 2
수빈이는 A와 B로만 이루어진 영어 단어 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈
www.acmicpc.net
문제 해결
- 처음에 S->T로 만드는 BFS 함수를 생각했다.
- 하지만 메모리초과, 시간초과 나오는 것을 보고 다른방법을 생각하게 되었다.
- 이전에 긴 문자열에서 짧은 문자열을 만드는 풀이가 생각이 났다.
- 역시 문자열을 만드는 것은 긴 문자열에서 짧은 문자열로 생각하는 것이 정답이다.(그래야 비교할 경우의 수가 줄어든다.)
CODE
S = str(input())
T = str(input())
def solve(word):
if word == S:
print(1)
exit()
if len(word) <= len(S):
return
if word[0] == 'B':
word_1 = word[::-1]
word_1 = word_1[:-1]
solve(word_1)
if word[-1] == 'A':
word_2 = word[:-1]
solve(word_2)
solve(T)
print(0)
728x90
반응형
'알고리즘 > [python] 백준 BOJ' 카테고리의 다른 글
[python] 백준 16234 인구 이동 (0) | 2023.04.05 |
---|---|
[python] 백준 1911 흙길 보수하기 (0) | 2023.04.05 |
[python] 백준 1422 숫자의 신 (0) | 2023.04.05 |
[python] 백준 9576 책 나눠주기 (0) | 2023.04.05 |
[python] 백준 2583 영역 구하기 (0) | 2023.04.04 |
댓글