PPC와 CPP

면접 대비

시간 제한1초메모리 제한1024 MB

요약
P와 C로 이루어진 문자열에서 PPC 또는 CPP를 반복해 지워 전체를 비울 수 있는지 판정한다.
난이도

보통10점 중 6점

유형
문자열, 스택, 그리디
정답자
아직 제출이 없습니다

문제

P와 C로만 이루어져 있는 길이가 NN인 문자열 A_1,⋯ ,A_NA\_1,\cdots,A\_N이 주어진다. 이 문자열에 다음 연산을 반복하여 적용할 수 있다.

  • 현재 문자열에서 연속된 33개의 문자를 고른다. 고른 문자들이 PPC 또는 CPP를 이룬다면, 그 고른 문자들을 삭제한다. 그 후, 남은 문자들을 순서를 바꾸지 않고 다시 이어 붙인다.

만약, 문자열 A_1,⋯ ,A_NA\_1,\cdots,A\_N이 위의 연산을 반복하여 빈 문자열이 될 수 있다면 문자열 AA를 PPC 문자열이라고 한다. 길이가 NN인 문자열이 주어질 때, 그 문자열이 PPC 문자열인지 판단해 보자!

입력

첫 번째 줄에 문자열의 길이 NN이 주어진다. (1≤N≤300000)(1 \leq N \leq 300 000)

두 번째 줄에 문자열 A_1,⋯ ,A_NA\_1,\cdots,A\_N이 공백 없이 주어진다. A_iA\_i는 P 또는 C다.

출력

주어진 문자열이 PPC 문자열이라면 YES, 아니면 NO를 출력한다.

예제3

  1. 예제 1

    입력
    6
    PPCCPP
    
    예상 출력
    YES
    
  2. 예제 2

    입력
    6
    PCPPCP
    
    예상 출력
    NO
    
  3. 예제 3

    입력
    1
    P
    
    예상 출력
    NO