매년 고등학교에서는 새로운 것이 "한창 유행"이에요. 올해의 주인공은 주사위 게임 Yacht예요.
Yacht 게임은 Poker Dice, Generala, 그리고 특히 Yahtzee와 같은 계열에 속하는데, Yahtzee의 전신이기도 해요. 게임은 열두 라운드로 이루어져 있어요. 각 라운드마다 주사위 다섯 개를 굴리고, 플레이어는 열두 개의 카테고리 중 하나를 골라요. 그렇게 고른 카테고리로 주사위 굴림의 점수를 매겨요.
주사위 다섯 개와 카테고리가 주어지면, 그 카테고리에 대한 주사위 점수를 계산해요.
주사위는 항상 다섯 개가 주어져요. 각 주사위의 값은 1부터 6까지예요. 주사위는 정렬되어 있지 않을 수 있어요.
| 카테고리 | 점수 | 설명 | 예시 |
|---|---|---|---|
| Ones | 1 × 1의 개수 | 어떤 조합이든 | 1 1 1 4 5 → 3점 |
| Twos | 2 × 2의 개수 | 어떤 조합이든 | 2 2 3 4 5 → 4점 |
| Threes | 3 × 3의 개수 | 어떤 조합이든 | 3 3 3 3 3 → 15점 |
| Fours | 4 × 4의 개수 | 어떤 조합이든 | 1 2 3 3 5 → 0점 |
| Fives | 5 × 5의 개수 | 어떤 조합이든 | 5 1 5 2 5 → 15점 |
| Sixes | 6 × 6의 개수 | 어떤 조합이든 | 2 3 4 5 6 → 6점 |
| Full House | 주사위의 합계 | 같은 숫자 세 개와 다른 숫자 두 개 | 3 3 3 5 5 → 19점 |
| Four of a Kind | 네 주사위의 합계 | 같은 눈이 적어도 네 개 | 4 4 4 4 6 → 16점 |
| Little Straight | 30점 | 1-2-3-4-5 | 1 2 3 4 5 → 30점 |
| Big Straight | 30점 | 2-3-4-5-6 | 2 3 4 5 6 → 30점 |
| Choice | 주사위의 합 | 어떤 조합이든 | 2 3 3 4 6 → 18점 |
| Yacht | 50점 | 다섯 주사위가 모두 같은 눈 | 4 4 4 4 4 → 50점 |
주사위가 어떤 카테고리의 조건을 만족하지 않으면 점수는 0이에요. 예를 들어 Yacht 카테고리에 _Four Of A Kind_를 입력하면 0점이에요. Full House 카테고리에 _Yacht_를 입력하면 0점이에요.
| 레지스터 | 용도 | 자료형 | 설명 |
|---|---|---|---|
$a0 |
입력 | 정수 | 카테고리: 0 = choice, 1 = ones, 2 = twos, 3 = threes, 4 = fours, 5 = fives, 6 = sixes, 7 = little_straight, 8 = big_straight, 9 = full_house, 10 = four_of_a_kind, 11 = yacht |
$a2 |
입력 | 주소 | 주사위 (워드 배열) |
$v0 |
출력 | 정수 | 계산된 점수 |
$t0-9 |
임시 | 임의 | 임시 저장에 사용 |
Exercism에 가입하고 MIPS Assembly 트랙을 연습 문제 70개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.