[νλ‘κ·Έλλ¨Έμ€/python] νμλ²(Greedy) : 체μ‘볡
λ¬Έμ μ€λͺ
μ μ¬μκ°μ λλμ΄ λ€μ΄, μΌλΆ νμμ΄ μ²΄μ‘볡μ λλλΉνμ΅λλ€. λ€νν μ¬λ² 체μ‘λ³΅μ΄ μλ νμμ΄ μ΄λ€μκ² μ²΄μ‘볡μ λΉλ €μ£Όλ € ν©λλ€. νμλ€μ λ²νΈλ 체격 μμΌλ‘ λ§€κ²¨μ Έ μμ΄, λ°λ‘ μλ²νΈμ νμμ΄λ λ°λ‘ λ·λ²νΈμ νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. μλ₯Ό λ€μ΄, 4λ² νμμ 3λ² νμμ΄λ 5λ² νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. 체μ‘λ³΅μ΄ μμΌλ©΄ μμ μ λ€μ μ μκΈ° λλ¬Έμ 체μ‘볡μ μ μ ν λΉλ € μ΅λν λ§μ νμμ΄ μ²΄μ‘μμ μ λ€μ΄μΌ ν©λλ€.
μ 체 νμμ μ n, 체μ‘볡μ λλλΉν νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ lost, μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ reserveκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, 체μ‘μμ μ λ€μ μ μλ νμμ μ΅λκ°μ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- μ 체 νμμ μλ 2λͺ μ΄μ 30λͺ μ΄νμ λλ€.
- 체μ‘볡μ λλλΉν νμμ μλ 1λͺ μ΄μ nλͺ μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
- μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμμ μλ 1λͺ μ΄μ nλͺ μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
- μ¬λ² 체μ‘λ³΅μ΄ μλ νμλ§ λ€λ₯Έ νμμκ² μ²΄μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
- μ¬λ² 체μ‘볡μ κ°μ Έμ¨ νμμ΄ μ²΄μ‘볡μ λλλΉνμ μ μμ΅λλ€. μ΄λ μ΄ νμμ 체μ‘볡μ νλλ§ λλλΉνλ€κ³ κ°μ νλ©°, λ¨μ 체μ‘λ³΅μ΄ νλμ΄κΈ°μ λ€λ₯Έ νμμκ²λ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
μ λ΅
def solution(n, lost, reserve):
d_lost = list(set(lost) - set(reserve))
d_reserve = list(set(reserve) - set(lost))
for i in d_lost:
if i + 1 in d_reserve:
d_reserve.remove(i + 1)
elif i - 1 in d_reserve:
d_reserve.remove(i - 1)
else:
n = n-1
return n
μ°μ lostμ reserveμ μ€λ³΅λλ κ°μ΄ μμΌλ©΄ μ¬λ² μ·μ΄ μλ€λ μλ―Έμ΄λ―λ‘ λ λ°°μ΄μμ λͺ¨λ μμ ν΄μΌνλ€.
d_lost = list(set(lost) - set(reserve))
d_reserve = list(set(reserve) - set(lost))
set()μ μ§ν© μλ£νμΌλ‘ κ΅μ§ν©, ν©μ§ν©, μ°¨μ§ν©μ ꡬν λ μ μ©νκ² μ°μΈλ€.
-λ₯Ό μ΄μ©νμ¬ μ°¨μ§ν©μ ꡬν ν λ€μ 리μ€νΈννμ¬ d_lostμ d_reserveμ λ£μ΄μ€λ€.
for i in d_lost:
if i + 1 in d_reserve:
d_reserve.remove(i + 1)
elif i - 1 in d_reserve:
d_reserve.remove(i - 1)
else:
n = n-1
d_lostμ κ°λ³΄λ€ 1 ν° μκ° d_reserveμ μμΌλ©΄ d_reserveμμ ν΄λΉ κ°μ μμ νκ³
d_lostμ κ°λ³΄λ€ 1 μμ μκ° d_reserveμ μμΌλ©΄ d_reserveμμ ν΄λΉ κ°μ μμ νλ€.
λ μ λͺ¨λ d_reserveμ μλ€λ©΄ 체μ‘볡μ λ°μ§ λͺ»νλ€λ λ»μ΄λ―λ‘
μ 체 νμ μ nμ ν΄λΉ νμμ μ μΈν μμΈ n-1μ μ μ₯νλ€.
'πμκ³ λ¦¬μ¦ > νλ‘κ·Έλλ¨Έμ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€/python] νμλ²(Greedy) : μ‘°μ΄μ€ν± (0) | 2021.03.29 |
---|---|
[νλ‘κ·Έλλ¨Έμ€/python] ν΄μ(hash) : μ νλ²νΈ λͺ©λ‘ (0) | 2021.03.23 |
[νλ‘κ·Έλλ¨Έμ€/python] ν΄μ(Hash) : μμ£Όνμ§ λͺ»ν μ μ (0) | 2021.03.23 |
[νλ‘κ·Έλλ¨Έμ€/python] ν΄μ(Hash) : μμ₯ (0) | 2021.03.23 |
[νλ‘κ·Έλλ¨Έμ€/python] νμλ²(Greedy) : ꡬλͺ λ³΄νΈ (0) | 2021.03.18 |