728x90
https://www.acmicpc.net/problem/12904
12904번: A와 B
수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수
www.acmicpc.net
처음에는 s에서 t로 바꿔주기 위해 모든 경우의 수를 다 살펴보는 방법을 생각했는데, 이는 T의 최대 길이가 1000이므로 시간초과가 날 수 밖에 없는 코드였다. 여기서 생각의 전환이 필요한데, S를 T로 바꾸는 것이 아니라 T를 S로 바꿔준다면 while 문으로 쉽게 끝낼 수 있다. 알고리즘 문제를 풀 때 아이디어가 얼마나 중요한 지 알 수 있는 문제였다.
import sys
input = sys.stdin.readline
s = list(input().rstrip())
t = list(input().rstrip())
while True:
if t[-1] == 'A':
t.pop()
elif t[-1] == 'B':
t.pop()
t.reverse()
if len(s) == len(t):
break
if s==t:
print(1)
else:
print(0)
'알고리즘' 카테고리의 다른 글
[SWEA] 1240. 단순 2진 암호코드 (0) | 2021.09.29 |
---|---|
[백준] 1744. 수 묶기 (0) | 2021.09.29 |
[백준] 1541. 잃어버린 괄호 (0) | 2021.09.28 |
[SWEA] 1949. [모의 SW 역랑테스트] 등산로 조성 (0) | 2021.09.24 |
[백준] 1931. 회의실 배정 (0) | 2021.09.24 |