[νλ‘κ·Έλλ¨Έμ€] μμ - python
μ€κ³
μ’ λ₯λ₯Ό key, μ’ λ₯λ§λ€ μμμ κ°―μλ₯Ό valueλ‘ λ£μ
1κ°, 2κ°, 3κ° … nκ° μ μ μ μμ
μ) 2κ° μ λ κ²½μ° key μ€μ 2κ°λ₯Ό λ½μ λ΄μ value κ³±νλ©΄ λ¨
μ΄λ°μμΌλ‘ 1,2,3 .. nκ°κΉμ§μ κ²½μ°μ μλ₯Ό λ€ λνλ©΄ λ΅μ
μ½λ
from itertools import combinations
def solution(clothes):
answer = 1
dict = {}
for i in clothes:
if i[1] not in dict:
dict[i[1]] = 1
else:
dict[i[1]] += 1
for i in range(1,len(dict)+1):
for j in list(combinations(dict, i)):
tmp = 1
for k in j:
tmp *= dict[k]
answer += tmp
return answer-1
1λ²ν μΌλ§ νλ¦Ό
1λ²μ΄ λͺ¨λ μμμ μ’ λ₯μ μ΄λ¦μ΄ λ€λ₯Έ κ²½μ°μΈλ―
μμμ μ ≤ 30 μ΄λ―λ‘, μ΅λ 30μ΄λΌκ³ κ°μ νμ λ
μκ°λ³΅μ‘λ κ³μ°ν΄λ³΄λ©΄ 30 * 30!/r!(30-r)! * 30 * 30 μΈλ° μ΄κ² 1μ΅μ΄ λλ ?
μ κ·Έλ ꡬλ
μ‘°ν©μ μ°λ©΄ 무쑰건 μλκ² λ€ . . .
μ λ΅μ½λ
def solution(clothes):
answer = 1
dict = {}
for i in clothes:
if i[1] not in dict:
dict[i[1]] = 1
else:
dict[i[1]] += 1
for i in dict.values():
answer *= (i+1)
return answer-1
- μμμ μ’ λ₯κ° "1κ°μ§"μΈ κ²½μ°. ( μμ Aκ° a κ° ) a κ°μ μ‘°ν©μ΄ κ°λ₯
- μμμ μ’ λ₯κ° "2κ°μ§"μΈ κ²½μ°. ( μμ A aκ°, μμ B, bκ° ) μμ A, Bλ₯Ό νκ°μ§ μ© μ λ κ²½μ° a, b μμ A Bλ₯Ό μμ΄ μ λ κ²½μ° ab a + b + ab κ°μ μ‘°ν©μ΄ κ°λ₯
- μμμ μ’ λ₯κ° "3κ°μ§"μΈ κ²½μ°. ( μμ A aκ°, μμ B, bκ°, μμ C cκ°) μμ A, B, Cλ₯Ό νκ°μ§ μ© : a, b, c μμ A B / A C / B C 2μ’ λ₯μ© : ab, ac, bc μμ A B Cλ₯Ό μμ΄ μ λ κ²½μ° : abc a + b + c + ab + ac + bc + abcκ°μ μ‘°ν©μ΄ κ°λ₯
μ΄ κ²μ 곡μμΌλ‘ λ§λ€λ©΄
: (1λ² μ’ λ₯μ μ + 1 )(2λ² μ’ λ₯μ μ + 1) ...(nλ² μ’ λ₯μ μ + 1) - 1
μ·μ μ’ λ₯ 1κ° : ( a + 1 ) - 1 = a + 1 - 1
μ·μ μ’ λ₯ 2κ° : (a + 1)(b + 1) - 1 = ab + a + b + 1 - 1
μ·μ μ’ λ₯ 3κ° : (a + 1)(b + 1)(c + 1) - 1 = abc + ab + ac + bc + a + b + c + 1 - 1
μ΄λ €μ λ μ
μ΄κ² μνλ¬Έμ μ¬ νλ‘κ·Έλλ° λ¬Έμ μ¬ ..