728x90
https://www.acmicpc.net/problem/12904
12904번: A와 B
수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수
www.acmicpc.net
접근법
- S → T를 만들 수 있는 것을 구하는 것이 아니라 T→ S가 될 수 있는지를 구한다.
- 위처럼 하는 이유는 T의 마지막 원소를 보면 수행할 수 있는 일이 1개이기 때문이다.
def input_func():
S = list(input())
T = list(input())
return S, T
def edit_string(arr):
if arr[-1] == 'A':
arr.pop()
elif arr[-1] == 'B':
arr.pop()
arr.reverse()
return arr
def solution(S,T):
while(len(T) > len(S)):
T = edit_string(T)
if S == T:
print("1")
else:
print("0")
def main():
S, T = input_func()
solution(S,T)
if __name__ == '__main__':
main()
사용된 알고리즘
구현, 문자열, 그리디 알고리즘
728x90
'study > 백준(BOJ)' 카테고리의 다른 글
[Python] 2853. 배 (0) | 2023.06.14 |
---|---|
[Python] 2583. 영역 구하기 (0) | 2023.06.12 |
[Python] 11501. 주식 (0) | 2023.06.02 |
[Python] 2012. 등수 매기기 (0) | 2023.06.01 |
[Python] 11660. 누적 합 구하기 5 (0) | 2023.06.01 |