結果

問題 No.227 簡単ポーカー
ユーザー tsunabit
提出日時 2018-05-20 23:15:55
言語 Java
(openjdk 23)
結果
AC  
実行時間 137 ms / 5,000 ms
コード長 2,330 bytes
コンパイル時間 3,383 ms
コンパイル使用メモリ 76,356 KB
実行使用メモリ 41,872 KB
最終ジャッジ日時 2024-06-28 14:47:44
合計ジャッジ時間 5,937 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 14
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*;
import java.util.stream.Stream;

// ***問題文***
// 5枚のカードが配られます。それぞれのカードには、1以上13以下のいずれかの整数が書かれています。
// カードに書かれている整数の組み合わせによって役が決まります。
// 配られた5枚のカードが、以下のいずれの役に該当するかを調べてください。
// 複数の役に該当する場合は、以下で先に記述した方の役に該当するものとします。
// FULL HOUSE   ある数をちょうど3つと、別の数をちょうど2つ含む。
// THREE CARD   ある数をちょうど3つ含む。
// TWO PAIR   ある数をちょうど2つと、別の数をちょうど2つ含む。
// ONE PAIR   ある数をちょうど2つ含む。
// ***入力***
// A1 A2 A3 A4 A5
// Ai(1≤i≤5)は配られたカードに書かれている整数です。 (1≤Ai≤13)
// ***出力***
// 該当する役の名前を出力してください。どの役にも該当しない場合はNO HANDと出力してください。
// 最後に改行してください。すなわち、出力は以下のいずれかになります。
// FULL HOUSE
// THREE CARD
// TWO PAIR
// ONE PAIR
// NO HAND

public class No227 {
    public static void main(String[] args) {
        // 標準入力から読み込む際に、Scannerオブジェクトを使う。
        Scanner sc = new Scanner(System.in);
        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
        for(int i = 0; i < 5; i++) {
            int temp = sc.nextInt();
            if(map.containsKey(temp)) {
                map.put(temp, map.get(temp) + 1);
            }else {
                map.put(temp, 1);
            }
        }

        if(map.size() == 2) {
            if(map.containsValue(3)) {
                System.out.println("FULL HOUSE");
            }else {
                System.out.println("NO HAND");
            }
        }else if(map.size() == 3) {
            if(map.containsValue(3)) {
                System.out.println("THREE CARD");
            }else {
                System.out.println("TWO PAIR");
            }
        }else if(map.size() == 4) {
            System.out.println("ONE PAIR");
        }else {
            System.out.println("NO HAND");
        }

    }
}
0