마작 은 아시아에서 매우 인기있는 타일 게임입니다. 일반적으로 4 명의 플레이어와 함께 플레이하며 게임의 목표는 타일을 사용하여 먼저 유효한 핸드를 완성하는 것입니다. 마작에는 3 개의 타일 슈트와 명예 타일이 있습니다.이 도전에서는 단일 슈트의 타일을 사용하여 형성된 핸드 만 고려합니다.
타일은에서 1
까지 번호가 매겨지며 9
각 타일에는 정확히 4 개의 사본이 있습니다. 유효한 핸드는 총 14 개의 타일에 대해 4 개의 3 세트와 1 세트로 구성됩니다.
세 세트는 다음 중 하나 일 수 있습니다.
- 트리플렛, 같은 타일 3 개 (예 :)
444
또는 - 세 개의 연속 타일 (예를 들어,의 순서
123
또는678
아니지만357
). 시퀀스는 랩핑되지 않습니다 (따라서912
유효하지 않습니다).
한 쌍은 단순히 두 개의 동일한 타일입니다 (예 :) 55
.
도전
14 개의 타일로 구성된 유효한 핸드가 주어지면 다음 기준에 따라 점수를 결정하십시오.
Condition Description Point/s
-------------------------------------------------------------------------------
Straight Contains the sequences 123 456 789 1
Identical sequences Contains two identical sequences 1
All simples Only 2-8, no 1s or 9s 1
All sequences All sets of three are sequences 1
All triplets All sets of three are triplets 2
Flush Single-suit hand (always applies) 5
(여기서 점수를 매기는 것은 일본 마작 규칙을 기반으로하지만 사양이 덜 복잡하도록 크게 단순화되었습니다.)
손의 점수는 조건이 충족되는 포인트의 합계입니다. 손을 여러 방법으로 분해 할 수있는 경우 가장 높은 점수 분해를 수행하십시오.
입력 핸드는 유효합니다. 즉, 1에서 9까지 14 개의 타일과 최대 4 번 나타나는 각 타일은 이미 정렬 된 것으로 간주 될 수 있습니다. 입력은 STDIN, 함수 인수 또는 명령 행을 통한 자릿수 목록 (문자열 또는 단일 정수 정수 목록)입니다. 출력은 STDOUT 또는 리턴 값일 수 있습니다.
테스트 사례
22233355777888 -> 8 # 222 333 55 777 888, flush + all simp. + all trip.
11112345678999 -> 6 # 111 123 456 789 99, flush + straight
11123456788999 -> 5 # 111 234 567 88 999, flush only (no straight)
23344455566788 -> 7 # 234 345 456 567 88, flush + all simp. + all seq.
33334444555566 -> 8 # 33 345 345 456 456, flush + all simp. + all seq. + identical seq.
11122233377799 -> 7 # 111 222 333 777 99, flush + all trip. (no identical seq.)
12344556678889 -> 8 # 123 456 456 789 88, flush + all seq. + straight + identical seq.
11344556678999 -> 5 # 11 345 456 678 999, flush only (no identical seq.)
22233344455566 -> 8 # 222 333 444 555 66, flush + all simp. + all trip.
11112233344555 -> 5 # 111 123 234 345 55, flush only
다섯 번째 예에서는 두 쌍의 동일한 시퀀스를 가지고 있음에도 불구하고 한 점만 있으면됩니다. 분해 345 345 345 345 66
점수는 동일하지만 333 345 444 555 66
점수는 떨어집니다.
채점
이것은 code-golf 이므로 가장 적은 바이트의 솔루션이 이깁니다. 표준 허점이 적용됩니다.
관련 도전 : 당신은 무엇을 기다리고 있습니까? (마작 해결사)