[백준] 16120번 PPAP - 파이썬/문자열

JinUk Lee·2023년 2월 6일
0

백준 알고리즘

목록 보기
38/78

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 를 쓰면 쉽게 풀수있지만, 입력이 길어지면 시간초과가 발생한다.

그러므로 스택을 활용하여 푸는 것이 안전하다.

profile
개발자 지망생

0개의 댓글