딜러의 블랙잭 패를 시뮬레이션하여 블랙잭, 버스트, 최종 점수 중 하나를 출력합니다.
쉬움3시뮬레이션구현면접 대비아직 제출이 없습니다시간 제한8초메모리 제한512 MB블랙잭은 카드 한 벌 이상으로 하는 게임이다. 각 참가자는 손패의 점수를 21을 넘기지 않으면서 21에 가깝게 만드는 것을 목표로 한다. 점수는 손패에 있는 카드 점수의 합이다. 2부터 10까지의 카드는 적힌 숫자만큼이고, 그림 카드(잭, 퀸, 킹)는 10점이다. 에이스는 21을 넘기지 않으면서 21에 더 가까워지는 쪽으로 11점 또는 1점으로 센다. 점수가 21을 넘은 손패를 버스트라고 하며, 버스트한 참가자는 그 자리에서 진다. 카드 두 장으로 21점이 된 손패, 즉 에이스 한 장과 10점짜리 카드(그림 카드 또는 10) 한 장으로 이루어진 손패는 블랙잭이라고 부르고 특별하게 다룬다.
게임은 이렇게 진행한다. 딜러가 모든 참가자와 자신에게 카드를 두 장씩 나눠 준다. 딜러가 블랙잭이면 딜러가 이기고 판이 즉시 끝난다. 그렇지 않으면 블랙잭을 든 참가자가 그 자리에서 이긴다. 남은 참가자는 한 명씩 차례를 진행한다. 자기 차례에 참가자는 카드를 한 장 더 받거나(히트) 그만 받는다(스탠드). 스탠드하거나 버스트할 때까지 계속 히트할 수 있고, 차례가 끝나면 다음 참가자가 시작한다. 모든 참가자가 차례를 마치면 딜러가 다음 규칙대로 진행한다.
버스트하지 않으면서 딜러보다 점수가 높은 참가자가 이기고, 딜러가 버스트하면 버스트하지 않은 참가자가 모두 이긴다. 여기서 다루는 것은 딜러뿐이므로 참가자의 승패는 구하지 않는다.
주어진 카드 순서마다 딜러가 진행을 마친 뒤 딜러 손패의 점수를 구하는 프로그램을 작성하시오.
첫째 줄에 테스트 케이스의 개수 N이 주어진다. N은 양의 정수다. 이어서 N개의 테스트 케이스가 주어진다.
각 테스트 케이스는 두 줄이다. 첫째 줄에는 딜러의 처음 손패를 나타내는 문자 두 개가 주어진다. 둘째 줄에는 모든 참가자가 차례를 마친 뒤 더미 맨 위에 놓인 카드 여덟 장을 나타내는 문자 여덟 개가 주어진다.
카드를 나타내는 문자는 A, 2, 3, 4, 5, 6, 7, 8, 9, T, J, Q, K 중 하나다. A는 에이스, T는 10, J는 잭, Q는 퀸, K는 킹이다. 한 줄 안의 문자는 공백 한 칸으로 구분한다.
한 테스트 케이스 안에서 같은 카드는 최대 네 번까지 나온다. 이 조건에서 딜러가 위 규칙대로 진행하면 히트 횟수는 여덟 번을 넘지 않는다.
각 테스트 케이스마다 한 줄씩 출력한다. 딜러가 블랙잭이면 blackjack을, 딜러가 버스트하면 bust를, 그 외에는 딜러 손패의 점수를 출력한다.