카드 게임
면접 대비시간 제한1초메모리 제한128 MB
52장의 카드를 두 선수가 번갈아 뒤집으며, 하이 카드 뒤에 정해진 수만큼 하이 카드가 없으면 점수를 주고 최종 점수를 출력한다.
문제
카드 한 벌로 진행하는 간단한 2인용 게임의 점수를 계산하는 프로그램을 작성하라. 한 벌은 장으로 이루어지며, 다음 가지 이름의 카드가 각각 장씩 있다: two, three, four, five, six, seven, eight, nine, ten, jack, queen, king, ace. 이 중 jack, queen, king, ace를 통틀어 하이 카드(high card)라고 부른다.
카드를 섞어 뒷면이 위로 오도록 탁자에 쌓아 둔다. 먼저 플레이어 A가 맨 위 카드를 뒤집어 카드 더미에 올려놓고, 이어서 플레이어 B가 맨 위 카드를 뒤집어 올려놓는다. 카드가 모두 소진될 때까지 A와 B가 번갈아 카드를 뒤집는다. 점수는 다음 규칙에 따라 매긴다.
- 어떤 플레이어가
ace를 뒤집었을 때, 뒤집을 카드가 아직 장 이상 남아 있고 그 다음 장 중 하이 카드가 하나도 없으면 그 플레이어는 점을 얻는다. - 어떤 플레이어가
king을 뒤집었을 때, 뒤집을 카드가 아직 장 이상 남아 있고 그 다음 장 중 하이 카드가 하나도 없으면 그 플레이어는 점을 얻는다. - 어떤 플레이어가
queen을 뒤집었을 때, 뒤집을 카드가 아직 장 이상 남아 있고 그 다음 장 중 하이 카드가 하나도 없으면 그 플레이어는 점을 얻는다. - 어떤 플레이어가
jack을 뒤집었을 때, 뒤집을 카드가 아직 장 이상 남아 있고 바로 다음 카드가 하이 카드가 아니면 그 플레이어는 점을 얻는다.
입력
입력은 개의 줄로 이루어진다. 각 줄에는 카드의 이름이 소문자로 하나씩 주어진다. 첫 번째 줄은 가장 먼저 뒤집는 카드를, 그 다음 줄은 그 다음에 뒤집는 카드를 나타내며, 이런 식으로 계속된다.
출력
플레이어가 점수를 얻을 때마다 Player X scores n point(s).를 출력한다. 여기서 X는 플레이어의 이름(A 또는 B)이고 은 얻은 점수(1, 2, 3, 4 중 하나)이다. 게임이 끝나면 각 플레이어의 총점을 다음과 같이 두 줄로 출력한다.
Player A: n point(s).
Player B: m point(s).