Hash偽装レベル2


質問リンク

1.私のコード

'''
clothes	return
[["yellowhat", "headgear"], ["bluesunglasses", "eyewear"], ["green_turban", "headgear"]]	5
[["crowmask", "face"], ["bluesunglasses", "face"], ["smoky_makeup", "face"]]	3
'''

import collections

def solution(clothes) :
    clothesDict = dict(clothes)
    clothesCnt = collections.Counter(clothesDict.values())
    answer = 1

    for k, v in clothesCnt.items():
        answer *= (v+1)

    return answer-1

print(solution([["crowmask", "face"], ["bluesunglasses", "face"], ["smoky_makeup", "face"]]))

結果




評価


<2つの鍵が重なるdictをマージする方法:Counter>

  • カウンタは、コンテナ内において同じ値のデータがどれだけあるかを決定するためのオブジェクト
  • である.
  • collections.カウンタの書き込み方法-dictの値が数値の場合.
    Collections.counterはdictのサブクラスで、keyとkeyのcount値をkey-valueペアとして格納します.*dictの値が数値の場合のみ
  • に書き込むことができます.
  • リンク:https://excelsior-cjh.tistory.com/942
  • gitリンク