문제풀이/백준
12904 - A와 B
동바리
2023. 5. 21. 16:50
import sys
def run():
src_str = input()
dst_str = input()
for i in range(0, len(dst_str)):
if (src_str == dst_str):
print(1)
return
if dst_str[len(dst_str) - 1] == 'A':
dst_str = dst_str[0:len(dst_str) - 1]
else:
dst_str = dst_str[0:len(dst_str) - 1]
dst_str = dst_str[::-1]
print(0)
run()
문제 :
12904번: A와 B
수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수
www.acmicpc.net
- src 스트링에서 dst 스트링으로 바꿀 수 있는지 확인하는 문제였습니다.
- src 스트링에서 dst 스트링으로 바꾸려고하면 많은 경우의 수 때문에 시간 초과가 발생하게 됩니다.
- 따라서 dst 스트링에서 src으로 바꿀 수 있는지를 확인합니다.
- dst 스트링에서 src 스트링으로 바꾸더라도, 결국 src에서 dst로 바꾸는거와 다르지 않냐라고 생각할 수 있습니다.
- 하지만 dst에서 src로 바꾸는것은 dst에서 src로 바꿀 수 있다는 전제를 두고 진행합니다.
- 따라서 1번 2번 연산을 거꾸로 해주기만 하면 됩니다.
- ABBA의 경우입니다.
- 끝이 A이기 때문에 A를 삭제합니다. -> ABB
- 끝이 B이기 때문에 B를 삭제하고 순서를 뒤집습니다. -> AB -> BA
- 끝이 A이기 때문에 A를 삭제합니다. -> B
- B가 나왔습니다.
- 위와 같이 진행해서 dst에서 src로 변환 안되면 0을 출력 그렇지않다면 1을 출력합니다.