[Programmers] μμ₯
Updated:
μμ₯
μμ₯ μ ν΄λ¦νλ©΄ λ°λ‘ μ΄λνλ€.
μ΄ λ¬Έμ λ κ·Έλ₯ μ λ§ μμ 100% μν λ¬Έμ ..
κ·Έκ² μλλ©΄ μ무리 μκ°ν΄λ ν¨μ¨μ±μμ ν΅κ³Όλ₯Ό ν μ μμ κ² κ°λ€.
λ¨Όμ 2μκ°μ λκ² κ³ λ―Ό ν΄ λ΄€μ§λ§ λ μ΄μ λΉ λ₯΄κ² ν μμμλ μ½λλ₯Ό μ€λͺ ν΄μΌκ² λ€.
from itertools import combinations
from collections import Counter
def multi(arr):
result = 1
for val in arr:
result *= val
return result
def solution(clothes):
answer = 0
clothes_cnt = [val[1] for val in clothes]
clothes_dict = dict(Counter(clothes_cnt))
_list = list()
for i in range(1, len(clothes_dict) + 1):
_list += list(combinations(clothes_dict.values(), i))
for cur in _list:
answer += multi(cur)
return answer
μλ₯Ό λ€μ΄ μμ, νμ, λͺ¨μκ° κ°κ° 3, 2, 2 κ° μ© μμλ€κ³ νλ€λ©΄ κ²½μ°μ μλ
3 + 2 + 2 + (3 * 2) + (3 * 2) + (2 * 2) + (3 * 2 * 2) κ° λλ€.
λ΄κ° μκ° ν λ¬Έμ μ νμ΄ λ°©λ²μ μ΄ λ°©λ²μ΄ μ΅μ μ΄μλ€.
μ΄λ€ λ°©μμΌλ‘ νλ μ‘°ν©μ ꡬν΄μ κ³μ°μ ν΄μΌ νκΈ° λλ¬Έμ combination μ κΌ νμνλ€.
νμ§λ§ κ²°κ³Όλ μκ°μ΄κ³Ό.. μ무리 μκ°ν΄λ μ΄ λ°©λ² λ³΄λ€ μ΅μ μ λ°©λ²μ μ°Ύμ§ λͺ»νλ€.
κ·Έλμ κ²°κ΅ μ§λ¬ΈνκΈ°λ₯Ό ν΅ν΄ λ€λ₯Έ ν΄κ²°μ± μ μκ² λμλλ° μ λ§ μνμ μν΄μΌκ² λ€λ μκ°μ΄ λ€μλ€..
μ°μ μκΉ λ§ν 3, 2, 2 λ₯Ό A, B, C λ‘ μΉν ν΄ λ³΄μ κ·Έλ λ€λ©΄ λ΄κ° ꡬνκ³ μΆμ μμ A + B + C + AB + AC + BC + ABC κ° λλ€.
μ΄ μμ (A + 1) * (B + 1) * (C + 1) - 1 κ³Ό κ°λ€. μ΄κ²λ§ μμλ€λ©΄ λ¬Έμ λ μ λ§ μ¬μμ§λ€.
from collections import Counter
def solution(clothes):
answer = 1
clothes_cnt = [val[1] for val in clothes]
clothes_dict = dict(Counter(clothes_cnt))
for val in clothes_dict.values():
answer *= val + 1
return answer - 1
κ²°κ΅ μ’ λ₯ λ³ μ·μ κ°μλ₯Ό μ λΆ 1 μ© λν΄μ€λ€, κ°μ μ λΆ κ³±νκ³ , 1μ λΉΌμ£Όλ©΄ λ΅μ΄ λλ€.
μ λ§ μ λ§ μνμ μΌμ€λ₯Ό λ§μ΄ ν€μμΌκ² λ€λ λλμ λ°μ λ¬Έμ μ΄λ€ !!!
Leave a comment