본문 바로가기
알고리즘/그리디

[백준][Python] 12904번 A와 B

by 임짠짠 2022. 10. 28.
반응형
 

12904번: A와 B

수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수

www.acmicpc.net

 

 

 

코드

s = input()
t = input()

while 1:
	if t[-1] == 'B':
		t = t[:-1:] 	# 문자열 맨 뒤의 B 제거
		t = t[::-1]		# 문자열 뒤집기
	elif t[-1] == 'A':
		t = t[:-1]		# 문자열 맨 뒤의 A 제거
	if t == s:
		print(1)
		break
	if len(t) == len(s):
		print(0)
		break

 

설명

순서를 s에서 t를 만드는 것이 아니라 t에서 s를 만드는 것으로 바꿔서 생각을 했다.

 

1. 문자열이 A로 끝나는 경우 A를 제거한다.

2. 문자열이 B로 끝나는 경우 B를 제거하고 문자열을 뒤집는다.

 

위의 과정을 반복하고 만약 s와 t의 길이가 같은데 문자열이 같지 않은 경우 0을 출력하고, 문자열이 같은 경우 1을 출력했다.

반응형

'알고리즘 > 그리디' 카테고리의 다른 글

[백준][Python] 수들의 합  (0) 2022.11.01
[백준][Python] 1461번 도서관  (0) 2022.10.31
[백준][Python] 1339번 단어 수학  (0) 2022.10.27
[백준][Python] 11256번 사탕  (1) 2022.09.20
[백준][Python] 1439번 뒤집기  (0) 2022.05.25

댓글