해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
A는 영문 소문자 'a'가 몇 개 들어 있는 문자열을 가지고 있다. A는 이 문자열을 친구 B에게 주고, B는 문자열 끝에 문자 'b'를 몇 개 덧붙인다. A and B 둘 다 문자 'a'와 'b'를 좋아하므로, 이 시점에 문자열에 적어도 하나의 'a'와 하나의 'b'가 존재하도록 했다.
이제 B는 이 문자열을 C에게 주고, C는 문자열 끝에 문자 'c'를 몇 개 덧붙인다. 하지만 C는 A and B의 좋은 친구이므로, C가 덧붙이는 문자 'c'의 개수는 문자열에 있는 'a'의 개수 또는 'b'의 개수와 같다. 문자 'c'의 개수가 문자 'a'의 개수와 문자 'b'의 개수 모두와 동시에 같을 수도 있다.
문자열 하나가 주어질 때, 이와 같은 방식으로 그 문자열을 만들 수 있는지 확인해야 한다. 만들 수 있다면 "YES"를 출력하고, 그렇지 않다면 "NO"를 출력한다(따옴표는 출력하지 않는다).
첫째 줄이자 유일한 줄에 문자열 S ( 1 ≤ |S| ≤ 5 000 )가 주어진다. 문자열은 영문 소문자 'a', 'b', 'c'로만 이루어져 있음이 보장된다.
조건에 따라 "YES" 또는 "NO"를 출력한다.
aabc
YES
aaabccc
YES
bbacc
NO
첫 번째 예제를 살펴보자. 'c'의 개수는 'a'의 개수와 같다.
두 번째 예제를 살펴보자. 'c'의 개수는 'b'의 개수와 같지만, 순서가 올바르지 않다.
세 번째 예제를 살펴보자. 'c'의 개수는 'b'의 개수와 같다.