COCI 2015/2016 contest1 1- 포커 카드 판별기(KARTE) > 문제은행 : 정보올림피아드&알고리즘




2976 : 포커 카드 판별기(KARTE)

제한시간
1000 ms   
메모리제한
32 MB   
해결횟수
44 회   
시도횟수
94 회   

문제

최근 로봇프로그램에 관심이 생긴 수정이는 포커 카드가 완전한 세트인지 확인하는 로봇을 만들어 볼 작정이다.

 

프로그램은 카드의 모양(스페이드(♠), 다이아몬드(♢), 하트(♡), 클럽(♣))과 숫자를 인식하는 것이다. 

편의상 모양은 문자로 하여 위 모양들은 각각 P, K, H, T 라고 하자. 그리고 숫자는 1~13에 해당하는 정수이다. 

로봇은 각각의 카드를 TXY의 형태로 '카드 이름'을 정하는데 T는 모양에 해당하고 XY는 숫자에 대응한다. 

만약 숫자가 1자리 숫자이면 X자리에 0을 넣어 자릿수를 맞추어 준다.

 

예를 들어 스페이드 모양에 숫자 2을 가진 카드라면 P02로 표시한다.

 

모양이 4가지이고 각 모양당 13장의 카드가 있으므로 완전한 카드 한 벌은 52개의 카드로 이루어져 있다. 

현재 카드 정보로 문자열 S를 입력받은 로봇은 각 모양당 얼마나 많은 카드가 부족한지 알아내야 한다.

문자열에는 공백이 없이 ‘모양숫자모양숫자...’ 형식으로 입력된다.

 

입출력 예 1은 P 카드가 12개, K 카드가 12개, H 카드가 11개, T카드가 13개 부족하다는 의미이다.

입출력 예 2는 같은 (H02)카드가 존재하므로 ERROR을 출력하고 있다.

입출력 예 3은 P 카드가 12개, K 카드가 12개, H 카드가 12개, T카드가 12개 부족하다는 의미이다.

 

입력된 카드 정보에서 같은 가드가 존재하면 ERROR를 출력한다.

그렇지 않다면 각 모양당 부족한 카드수를 구한다.

 

수정이를 도와 로봇 프로그래밍을 시작하자^^ 

 


입력형식

하나의 행에 공백을 포함하지 않는 문자열 S(1 ≤ |S| ≤ 1000)가 주어진다. (|S| 는 문자열 S의 길이) ‘모양숫자모양숫자...’ 형식에 문제 있는 데이터는 주어지지 않는다.

출력형식

만약 똑같은 카드가 존재한다면 ERROR을 출력한다. 그렇지 않다면 4개의 정수를 공백 문자로 구분하여 출력한다. 각각 부족한 P, K, H, T 카드의 개수에 해당한다.

입력 예

P01K02H03H04

출력 예

12 12 11 13

입력 예

H02H10P11H02

출력 예

ERROR

입력 예

P10K10H10T01

출력 예

12 12 12 12


경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호

TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com

Copyrightⓒ 2010 jungol. All right reserved.

TOP