https://school.programmers.co.kr/learn/courses/30/lessons/42578
μ²μμλ μλμ κ°μ΄ μ‘°ν©μΌλ‘ νμλλ° ν
μ€νΈ μΌμ΄μ€ 1λ²μμ μκ°μ΄κ³Όκ° λ°μνλ€.γ
γ
μ°Ύμ보λ μμ΄, μ‘°ν© λ©μλλ μ λ§ μ μ©νμ§λ§ μκ° λ³΅μ‘λκ° κ½€λ κ±Έλ €μ μ½λ©ν
μ€νΈμμλ λλλ‘ μ¬μ©νμ§ μλ κ²μ΄ μ’λ€κ³ νλ€π΅
from itertools import combinations
def solution(clothes):
dic = {}
for i in clothes:
if i[1] in dic:
dic[i[1]]+=1
else:
dic[i[1]]=1
sum = 0
values = dic.values()
for k in range(1,len(values)+1):
arr = list(combinations(values,k))
for i in arr:
ans = 1
for j in i:
ans *= j
sum += ans
return(sum)
κ·Έλμ λ°©λ²μ μ°Ύμ보λ μ°¨λΌλ¦¬ κ²½μ°μ μλ₯Ό λμ΄μ μ΄λ€ μ’ λ₯μ μ·μ μ μ§ μλ κ²½μ°κΉμ§ κ³ λ €νμ¬ n+1μ ν΄μ€ λ€μ, λͺ¨λ κ³±νκ³ λ¬Έμ μμ μμ λ κ²½μ°λ μλ€νμμΌλ -1μ ν΄μ£Όλ λ°©μμΌλ‘ λ§μ΄ νμκΈΈλ μ°Έκ³ νλ€ γ
μλμ²λΌ νΈλκΉ λλμ΄ 1λ² ν μ€νΈ μΌμ΄μ€κ° ν΅κ³Όκ° λλ€.γ
from itertools import combinations
def solution(clothes):
dic = {}
for i in clothes:
if i[1] in dic: #μΉ΄ν
κ³ λ¦¬ μ΄λ―Έ μμΌλ©΄ κ°μ μΆκ°
dic[i[1]]+=1
else: #μΉ΄ν
κ³ λ¦¬ μμΌλ©΄ 1λ‘ μ΄κΈ°ν
dic[i[1]]=1
values = dic.values()
print('values',values) # κ°μ§μ μ, ν€μ κ°λ€λ§
sum = 1
for c in values: #μ‘°ν©μ ꡬνλ μ, ν€μ κ°λ€μ λλ©΄μ
sum*=(c+1) # μμ
λ κ²½μ°κΉμ§ κ³ λ €ν΄μ +1λ‘ κ³μ°ν΄μ κ³±ν΄μ€
sum-=1 # λ¬Έμ μμ μ΅μ νκ°λ μ
μΌλ λͺ¨λ μμ
λ κ²½μ° λΉΌμΌλ¨
return sum