본문 바로가기
알고리즘/BOJ

[Python] 백준 16120번: PPAP

by PIAI 2021. 9. 14.

16120번: PPAP (acmicpc.net)

 

16120번: PPAP

첫 번째 줄에 문자열이 주어진다. 문자열은 대문자 알파벳 P와 A로만 이루어져 있으며, 문자열의 길이는 1 이상 1,000,000 이하이다.

www.acmicpc.net

1. P에서 시작하므로 길이는 1 + 3*x이다.

2. P를 만날때 마다 tmp를 올려준다.

3. A를 만났을때 tmp가 2이상이고 뒤의 문자가 P이면 tmp를 2 내려준다.

4. 마지막 tmp의 길이가 1이아니면 정답이아니다.

s = input()
tmp = 0
ans = 'PPAP'
if len(s) % 3 == 1:
    for i in range(len(s)):
        if s[i] == 'A':
            if i+1 < len(s) and tmp >= 2 and s[i+1] == 'P':
                tmp -= 2
            else:
                ans = 'NP'
                break
        else:
            tmp += 1
else:
    ans = 'NP'

if tmp != 1:
    ans = 'NP'
print(ans)

댓글