λ¬Έμ μ€λͺ
μΌλ°μ μΈ νλ¦°ν°λ μΈμ μμ²μ΄ λ€μ΄μ¨ μμλλ‘ μΈμν©λλ€. κ·Έλ κΈ° λλ¬Έμ μ€μν λ¬Έμκ° λμ€μ μΈμλ μ μμ΅λλ€. μ΄λ° λ¬Έμ λ₯Ό 보μνκΈ° μν΄ μ€μλκ° λμ λ¬Έμλ₯Ό λ¨Όμ μΈμνλ νλ¦°ν°λ₯Ό κ°λ°νμ΅λλ€. μ΄ μλ‘κ² κ°λ°ν νλ¦°ν°λ μλμ κ°μ λ°©μμΌλ‘ μΈμ μμ μ μνν©λλ€.
1. μΈμ λκΈ°λͺ©λ‘μ κ°μ₯ μμ μλ λ¬Έμ(J)λ₯Ό λκΈ°λͺ©λ‘μμ κΊΌλ
λλ€.
2. λλ¨Έμ§ μΈμ λκΈ°λͺ©λ‘μμ Jλ³΄λ€ μ€μλκ° λμ λ¬Έμκ° ν κ°λΌλ μ‘΄μ¬νλ©΄ Jλ₯Ό λκΈ°λͺ©λ‘μ κ°μ₯ λ§μ§λ§μ λ£μ΅λλ€.
3. κ·Έλ μ§ μμΌλ©΄ Jλ₯Ό μΈμν©λλ€.
μλ₯Ό λ€μ΄, 4κ°μ λ¬Έμ(A, B, C, D)κ° μμλλ‘ μΈμ λκΈ°λͺ©λ‘μ μκ³ μ€μλκ° 2 1 3 2 λΌλ©΄ C D A B μμΌλ‘ μΈμνκ² λ©λλ€.
λ΄κ° μΈμλ₯Ό μμ²ν λ¬Έμκ° λͺ λ²μ§Έλ‘ μΈμλλμ§ μκ³ μΆμ΅λλ€. μμ μμμ Cλ 1λ²μ§Έλ‘, Aλ 3λ²μ§Έλ‘ μΈμλ©λλ€.
νμ¬ λκΈ°λͺ©λ‘μ μλ λ¬Έμμ μ€μλκ° μμλλ‘ λ΄κΈ΄ λ°°μ΄ prioritiesμ λ΄κ° μΈμλ₯Ό μμ²ν λ¬Έμκ° νμ¬ λκΈ°λͺ©λ‘μ μ΄λ€ μμΉμ μλμ§λ₯Ό μλ €μ£Όλ locationμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, λ΄κ° μΈμλ₯Ό μμ²ν λ¬Έμκ° λͺ λ²μ§Έλ‘ μΈμλλμ§ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- νμ¬ λκΈ°λͺ©λ‘μλ 1κ° μ΄μ 100κ° μ΄νμ λ¬Έμκ° μμ΅λλ€.
- μΈμ μμ μ μ€μλλ 1~9λ‘ νννλ©° μ«μκ° ν΄μλ‘ μ€μνλ€λ λ»μ λλ€.
- locationμ 0 μ΄μ (νμ¬ λκΈ°λͺ©λ‘μ μλ μμ μ - 1) μ΄νμ κ°μ κ°μ§λ©° λκΈ°λͺ©λ‘μ κ°μ₯ μμ μμΌλ©΄ 0, λ λ²μ§Έμ μμΌλ©΄ 1λ‘ ννν©λλ€.
μ μΆλ ₯ μ
μμ #1
λ¬Έμ μ λμ¨ μμ κ°μ΅λλ€.
μμ #2
6κ°μ λ¬Έμ(A, B, C, D, E, F)κ° μΈμ λκΈ°λͺ©λ‘μ μκ³ μ€μλκ° 1 1 9 1 1 1 μ΄λ―λ‘ C D E F A B μμΌλ‘ μΈμν©λλ€.
νμ΄ μ½λ
from collections import deque
def solution(priorities, location):
answer = 0
queue = deque(priorities)
while queue:
val = queue.popleft()
location -= 1
if queue:
if val < max(queue):
queue.append(val)
if location == -1:
location = len(queue) - 1
else:
answer += 1
if location == -1:
break
else:
answer += 1
break
return answer
ν μλ£κ΅¬μ‘°λ₯Ό μ΄μ©ν΄ ꡬν μ μλ€.
μμμ λΉ μ Έλκ° λλ§λ€ λ΄κ° ꡬνκ³ μ νλ μμΉ μμ ν μΉΈ μμΌλ‘ λΉκ²¨μ§λ€.
μ μΌ μμ μλ κ° (val)μ΄ λλ¨Έμ§ ν λ΄λΆμ μλ μ΅λκ° (max(queue))λ³΄λ€ μμΌλ©΄ λ€λ‘ λ£λλ€.
valμ΄ λ΄κ° ꡬνκ³ μ νλ λ¬Έμμλ€λ©΄ locationμ΄ -1μ΄ λμμ κ²μ΄λ―λ‘, κ°μ₯ λ€λ‘ μ΄λνλ€λ κ²μ λνλ΄κΈ° μν΄ len(queue)-1λ‘ λ°κΏμ€λ€.
ν μ΅λκ°λ³΄λ€ μμ μλ κ°μ΄ λ ν¬λ©΄, μΈμ μμ νλκ° λ§λ¬΄λ¦¬ λμμΌλ―λ‘ answer += 1 ν΄μ£Όκ³ , μ΄ λ¬Έμκ° κ΅¬νκ³ μν λ¬Έμμλμ§ μ²΄ν¬ν΄μ£Όλ©΄ λλ€.
'π μ½λ©ν μ€νΈ λλΉ : PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] μ νλ²νΈ λͺ©λ‘ (level2, python) (0) | 2022.09.12 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] μ£Όμ°¨ μκΈ κ³μ° (level2, python) (0) | 2022.09.12 |
[νλ‘κ·Έλλ¨Έμ€] [1μ°¨] λ΄μ€ ν΄λ¬μ€ν°λ§ (level2, python) (0) | 2022.09.12 |
[νλ‘κ·Έλλ¨Έμ€] kμ§μμμ μμ κ°μ ꡬνκΈ° (level2, python) (0) | 2022.09.12 |
[νλ‘κ·Έλλ¨Έμ€] μΌκ·Ό μ§μ (level3, python) (0) | 2022.09.10 |