λ¬Έμ μ€λͺ
μ μ¬μκ°μ λλμ΄ λ€μ΄, μΌλΆ νμμ΄ μ²΄μ‘볡μ λλλΉνμ΅λλ€. λ€νν μ¬λ² 체μ‘λ³΅μ΄ μλ νμμ΄ μ΄λ€μκ² μ²΄μ‘볡μ λΉλ €μ£Όλ € ν©λλ€. νμλ€μ λ²νΈλ 체격 μμΌλ‘ λ§€κ²¨μ Έ μμ΄, λ°λ‘ μλ²νΈμ νμμ΄λ λ°λ‘ λ·λ²νΈμ νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. μλ₯Ό λ€μ΄, 4λ² νμμ 3λ² νμμ΄λ 5λ² νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. 체μ‘λ³΅μ΄ μμΌλ©΄ μμ
μ λ€μ μ μκΈ° λλ¬Έμ 체μ‘볡μ μ μ ν λΉλ € μ΅λν λ§μ νμμ΄ μ²΄μ‘μμ
μ λ€μ΄μΌ ν©λλ€.
μ 체 νμμ μ n, 체μ‘볡μ λλλΉν νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ lost, μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ reserveκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, 체μ‘μμ μ λ€μ μ μλ νμμ μ΅λκ°μ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ ν μ¬ν
- μ 체 νμμ μλ 2λͺ μ΄μ 30λͺ μ΄νμ λλ€.
- 체μ‘볡μ λλλΉν νμμ μλ 1λͺ μ΄μ nλͺ μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
- μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμμ μλ 1λͺ μ΄μ nλͺ μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
- μ¬λ² 체μ‘λ³΅μ΄ μλ νμλ§ λ€λ₯Έ νμμκ² μ²΄μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
- μ¬λ² 체μ‘볡μ κ°μ Έμ¨ νμμ΄ μ²΄μ‘볡μ λλλΉνμ μ μμ΅λλ€. μ΄λ μ΄ νμμ 체μ‘볡μ νλλ§ λλλΉνλ€κ³ κ°μ νλ©°, λ¨μ 체μ‘λ³΅μ΄ νλμ΄κΈ°μ λ€λ₯Έ νμμκ²λ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
μ
μΆλ ₯ μ
n | lost | reserve | return |
5 | [2, 4] | [1, 3, 5] | 5 |
5 | [2, 4] | [3] | 4 |
3 | [3] | [1] | 2 |
μ
μΆλ ₯ μ μ€λͺ
μμ #1: 1λ² νμμ΄ 2λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όκ³ , 3λ² νμμ΄λ 5λ² νμμ΄ 4λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όλ©΄ νμ 5λͺ
μ΄ μ²΄μ‘μμ
μ λ€μ μ μμ΅λλ€.
μμ #2: 3λ² νμμ΄ 2λ² νμμ΄λ 4λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όλ©΄ νμ 4λͺ μ΄ μ²΄μ‘μμ μ λ€μ μ μμ΅λλ€.
λμ μ루μ
from collections import Counter
def solution(n, lost, reserve):
# λ²νΈκ° κ°μ νμλ€ reserve, lost μμ κ°κ° μ κ±°
reserve_new = list(Counter(reserve) - Counter(lost))
lost_new = list(Counter(lost) - Counter(reserve))
# reserve μ μλ νμ λ²νΈκ° lost μ μλ νμ λ²νΈλ³΄λ€ 1 μκ±°λ 1 ν¬λ©΄ lost μμ μ κ±°
for res in reserve_new:
if res - 1 in lost_new:
lost_new.remove(res - 1)
elif res + 1 in lost_new:
lost_new.remove(res + 1)
# μ 체 λ°°μ΄μ μννμμλ μ¬μ ν 체μ‘볡μ μ
μ§ λͺ»ν νμλ§νΌ lost μ λ¨μμΌλ―λ‘,
# μ 체 νμ μμμ κ·Έλ§νΌ μ κ±°νμ¬ λ°ν
return n - len(lost_new)
λ°°μ΄ μ
- Collections λͺ¨λμ Counter κ°μ²΄κ°μ μ°μ°μ΄ κ°λ₯νλ€. λ°λΌμ 리μ€νΈμ λ°λ³΅λ¬Έμ μ¬λ¬ μ°¨λ‘ λλ €κ°λ©° νμΈν΄μΌ νλ μμ μ κ°μννμ¬ κ°λ μ± λμ μ½λλ₯Ό 지 μ μλ€.
'π» DEV > γ΄ problems' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] 2019 KAKAO BLIND RECRUITMENT : μ€νμ±ν λ°© (0) | 2021.07.07 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] 2017 νμ€νμ΄: μ§μ§μ΄ μ κ±°νκΈ° (0) | 2021.07.07 |
[νλ‘κ·Έλλ¨Έμ€] μ€ν/ν(Stack/Queue) : μ£Όμκ°κ²© (0) | 2021.05.07 |
[νλ‘κ·Έλλ¨Έμ€] μ€ν/ν(Stack/Queue): λ€λ¦¬λ₯Ό μ§λλ νΈλ (0) | 2021.05.07 |
[νλ‘κ·Έλλ¨Έμ€] μ€ν/ν(Stack/Queue): νλ¦°ν° (0) | 2021.05.07 |
λκΈ