흙금이네 블로그

[BOJ] 16120 - PPAP (Python) 본문

알고리즘

[BOJ] 16120 - PPAP (Python)

흙금 2022. 12. 26. 21:02

 

 

아이디어

 

문자열에서 PPAP를 찾을 때마다 P로 바꾼다.

 

 

풀이

 

차례로 알파벳을 스택에 넣고 스택에 'P', 'P', 'A', 'P'가 순서대로 들어왔을 때 'P', 'A', 'P'를 지우고 'P'만 남긴다.

P도 PPAP 문자열이므로 마지막에 'P'만 스택에 남아있는 경우 'PPAP'를, 그렇지 않으면 'NP'를 출력한다.

 

S = input()
stack = []
for c in S:
    stack.append(c)
    if ''.join(stack[-4:]) == 'PPAP':
        del stack[-3:]
if ''.join(stack) == 'P':
    print('PPAP')
else:
    print('NP')

 

Comments