1. λ¬Έμ μμ½
μ€νμ΄κ° κ°μ§ μμλ€μ΄ λ΄κΈ΄ 2μ°¨μ λ°°μ΄ clothesκ° μ£Όμ΄μ§ λ, μλ‘ λ€λ₯Έ μ·μ μ‘°ν©μ μλ₯Ό ꡬνλ λ¬Έμ μ΄λ€.
κ° μ’ λ₯λ³λ‘ μ΅λ 1κ°μ μμλ§ μ°©μ©ν μ μμΌλ©°, μ΅μ ν κ°μ μμμ μ μ΄μΌ νλ€.
2. ν΅μ¬ μμ΄λμ΄: "μ μ λ κ²λ μ νμ΄λ€"
κ° μμ μ’ λ₯(머리μ₯μ, μμ, νμ λ±)μμ νλλ₯Ό κ³ λ₯΄λ κ²½μ°μ μ μΈμ 'μ무κ²λ μ μ§ μλ κ²½μ°'λ₯Ό μ νμ§μ μΆκ°νλ κ²μ΄ ν¬μΈνΈμ΄λ€.
μλ₯Ό λ€μ΄, 머리μ₯μμ΄ [μκ²½, μ κΈλΌμ€] 2κ°λΌλ©΄ μ νμ§λ μ΄ 3κ°μ§κ° λλ€.
- μκ²½μ μ΄λ€.
- μ κΈλΌμ€λ₯Ό μ΄λ€.
- μ무κ²λ μ°μ§ μλλ€.
3. μνμ 곡μ
(n + 1) × (m + 1) × (k + 1) ... − 1
π +1μ νλ μ΄μ : ν΄λΉ μ’
λ₯μ μμμ νλλ μ
μ§ μλ κ²½μ°λ₯Ό ν¬ν¨νκΈ° μν΄μμ΄λ€.
π λ§μ§λ§μ -1μ νλ μ΄μ : λͺ¨λ μ’
λ₯μ μμμ νλλ μ
μ§ μμ μν(μ΅μ ν κ°μ μμμ μ
μ΄μΌ νλ€λ 쑰건 μλ°°)λ₯Ό μ μΈνκΈ° μν΄μμ΄λ€.
4. ꡬν μ½λ (Python)
from collections import defaultdict
def solution(clothes):
# 1. μμ μ’
λ₯λ³λ‘ κ°μλ₯Ό μΌλ€
closet = defaultdict(int)
for name, kind in clothes:
closet[kind] += 1
# 2. λͺ¨λ κ²½μ°μ μλ₯Ό κ³±νλ€ (κ° μ’
λ₯λ³ κ°μ + 1)
answer = 1
for count in closet.values():
answer *= (count + 1)
# 3. μ무κ²λ μ
μ§ μμ κ²½μ° 1κ°λ₯Ό λΊλ€
return answer - 1
π defaultdict νμ©: ν€μ μ‘΄μ¬ μ¬λΆλ₯Ό λ§€λ² νμΈνμ§ μκ³ λ μμ μ’
λ₯λ³ κ°μλ₯Ό λ°λ‘ μΉ΄μ΄νΈν μ μμ΄ νΈλ¦¬νλ€.
π μ‘°ν© κ³μ°: κ° μΉ΄ν κ³ λ¦¬μ κ°μ κ³±νμ¬ μ 체 κ²½μ°μ μλ₯Ό μ°μΆνλ€.
'π§© Algorithm > [Programmers] μκ³ λ¦¬μ¦ κ³ λμ KIT' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [Programmers/μκ³ λ¦¬μ¦ κ³ λμ KIT] κ°μ μ«μλ μ«μ΄ (0) | 2026.03.31 |
|---|---|
| [Programmers/μκ³ λ¦¬μ¦ κ³ λμ KIT] λ² μ€νΈμ¨λ² (0) | 2026.03.30 |
| [Programmers/μκ³ λ¦¬μ¦ κ³ λμ KIT] μ νλ²νΈ λͺ©λ‘ (0) | 2026.03.19 |
| [Programmers/μκ³ λ¦¬μ¦ κ³ λμ KIT] ν¬μΌλͺ¬ (0) | 2026.03.18 |
| [Programmers/μκ³ λ¦¬μ¦ κ³ λμ KIT] μμ£Όνμ§ λͺ»ν μ μ (0) | 2026.03.18 |