https://www.acmicpc.net/problem/16120
import sys
S = sys.stdin.readline().rstrip()
if S == 'PPAP' or S == 'P':
print('PPAP')
else:
stack = []
for i in S:
stack.append(i)
if ''.join(stack[-4:]) == 'PPAP':
stack.pop()
stack.pop()
stack.pop()
if ''.join(stack) == 'PPAP' or ''.join(stack) == 'P':
print('PPAP')
else:
print('NP')
문자열 치환 문제는 replace
를 쓰면 쉽게 풀수있지만, 입력이 길어지면 시간초과가 발생한다.
그러므로 스택을 활용하여 푸는 것이 안전하다.