結果
| 問題 |
No.227 簡単ポーカー
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-08-09 19:52:52 |
| 言語 | Go (1.23.4) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 5,000 ms |
| コード長 | 1,167 bytes |
| コンパイル時間 | 14,229 ms |
| コンパイル使用メモリ | 228,124 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-07 08:22:26 |
| 合計ジャッジ時間 | 14,927 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 14 |
ソースコード
package main
import (
"fmt"
"sort"
"reflect"
)
func main() {
// 1:13
var a, b, c, d, e int
fmt.Scan(&a, &b, &c, &d, &e)
cards := []int{a, b, c, d, e}
cardMap := map[int]int{}
for _, v := range cards {
cardMap[v] = (cardMap[v] + 1)
}
allocationNumbers := make([]int, 0)
for _, value := range cardMap {
allocationNumbers = append(allocationNumbers, value)
}
sort.Ints(allocationNumbers)
if isFullHouse(allocationNumbers) {
fmt.Println("FULL HOUSE")
} else if isThreeCard(allocationNumbers) {
fmt.Println("THREE CARD")
} else if isTwoPair(allocationNumbers) {
fmt.Println("TWO PAIR")
} else if isOnePair(allocationNumbers) {
fmt.Println("ONE PAIR")
} else {
fmt.Print("NO HAND")
}
}
func isFullHouse(allocationNumbers []int) bool {
return reflect.DeepEqual(allocationNumbers, []int{2, 3})
}
func isThreeCard(allocationNumbers []int) bool {
return reflect.DeepEqual(allocationNumbers, []int{1, 1, 3})
}
func isTwoPair(allocationNumbers []int) bool {
return reflect.DeepEqual(allocationNumbers, []int{1, 2, 2})
}
func isOnePair(allocationNumbers []int) bool {
return reflect.DeepEqual(allocationNumbers, []int{1, 1, 1, 2})
}