programmers | Lv2

3811 ワード

💡 Python 3

🔗 質問する


偽装[Link]

💻 コード#コード#


状況数の問題주어진 의상 종류의 개수 + 1(입지 않는 경우)に所定の服装種類の数を乗じて解決する
def solution(clothes):
    from collections import defaultdict
    check = defaultdict(int)
    
    for v, k in clothes:
        check[k] += 1
    
    count = 1
    for i in list(check.values()):
        count *= (i + 1)
    
    return  count - 1

💥 他者コード

Counterreduceのコードを正しく使用
今回はアルゴリズム学習でreduceを知りました...応用したことがありません!!
今度の解答の時また一回学びましたははははは
def solution(clothes):
    from collections import Counter
    from functools import reduce
    cnt = Counter([kind for name, kind in clothes])
    answer = reduce(lambda x, y: x*(y+1), cnt.values(), 1) - 1
    return answer