回答
#43835 No.227 簡単ポーカー - yukicoder
手札が与えられるので,役を答える問題.
mapを使ってカードをまとめてあげると楽かと思います.
ッて思いましたが,これトランプで与えられる配列の長さも限られるので,リストで処理してもあまり変わらないかも….
役のフラグ立てですが,2ペアがいくつあるか,3ペアがいくつあるか数えてあげます.
これをうまくやると,下のように配列にまとめておいた答えにうまくアクセスすることができます.
これ最初if文とか使っていたのですが,最後うまくまとめられて良かったです….
dic = dict([]) for i in map(int, input().split()): if i in dic: dic[i] += 1 else: dic.update({i:1}) twop, threec = 0, 0 for v in dic.values(): if v == 2: twop += 1 if v == 3: threec += 1 ans = ["NO HAND", "ONE PAIR", "TWO PAIR", "THREE CARD", "FULL HOUSE"] print(ans[twop + threec * 3])