[파이썬] 백준 12904 : A와 B (골드5)
풀이
방향성 생각
- start to end로 BFS처럼 진행하면 $2^1000$이라서 메모리 초과.
- 반대로 end to start로 진행하면, 선택지는 하나밖에 없음.
- 마지막이 A이면 A 제거.
- 마지막이 B이면 B 제거하고 뒤집기.
- 계속 문자열을 제거하면서 start 문자가 나오면 가능, 아니면 불가능.
전체코드
start = input()
end = input()
answer = 0
while True:
# 문자열 둘이 같아졌으면 탈출
if start == end:
answer = 1
break
# end를 계속 제거했음에도 불구하고, start를 못찾은 경우 탈출
if len(start) > len(end):
answer = 0
break
# 마지막이 A이면 맨 뒤 제거
if end[-1] == 'A':
end = end[:-1]
# 마지막이 B이면 맨 뒤 제거 후 뒤집기.
else:
end = end[:-1]
end = end[::-1]
print(answer)
코멘트
- 비트로 바꿔서 하면 더 빠를지도?
'Algorithm > Greedy' 카테고리의 다른 글
[자바] SWEA 1868 : 파핑파핑 지뢰찾기 (D4) (0) | 2025.03.09 |
---|---|
[파이썬] 백준 1083 : 소트 (골드4) (0) | 2024.11.14 |
[파이썬] 백준 9576 : 책 나눠주기 (골드2) (1) | 2024.05.28 |
[파이썬] 백준 3109 : 빵집 (골드2) (0) | 2024.04.14 |
[파이썬] 백준 18234 : 당근훔쳐먹기 (골드3) (0) | 2024.04.02 |
[파이썬] 프로그래머스 : 인사고과 (레벨3) (0) | 2024.04.02 |
[파이썬] 백준 1736 : 쓰레기 치우기 (골드1) (0) | 2024.02.18 |
댓글