programmers | Lv2. μœ„μž₯ [Python]

yeonkΒ·2022λ…„ 3μ›” 24일
0

algorithm

λͺ©λ‘ 보기
78/88
post-thumbnail

πŸ’‘ 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






πŸ’₯ λ‹€λ₯Έ μ‚¬λžŒ μ½”λ“œ

Counter와 reduceλ₯Ό μ μ ˆν•˜κ²Œ ν™œμš©ν•œ μ½”λ“œ
μ΄λ²ˆμ— μ•Œκ³ λ¦¬μ¦˜ μŠ€ν„°λ””μ—μ„œ 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

0개의 λŒ“κΈ€