풀이
일반적인 괄호 문자열 문제랑 비슷하게 해결하면 된다.
코드
#include <cstdio>
int t;
char a[1000003], s[1000003];
int ppap() {
if (t < 4) return 0;
if (s[t-4]=='P'&&s[t-3]=='P'&&s[t-2]=='A'&&s[t-1]=='P') return 1;
return 0;
}
int main() {
scanf("%s", a);
int cnt = 0;
for (int i = 0; a[i]; i++) {
s[t++] = a[i];
while (ppap()) t -= 4, s[t++] = 'P';
}
puts(t == 1 && s[0] == 'P' ? "PPAP" : "NP");
return 0;
}
아무말
백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이