๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • What would life be If we had no courage to attemp anything?
Problem Solving/PROGRAMMERS

[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ํ”„๋ฆฐํ„ฐ

by DevIseo 2022. 10. 31.

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/42587

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

from collections import deque
def solution(priorities, location):
    answer = 0
    
    #์–ด๋–ป๊ฒŒ location์„ ์ฒดํฌํ•˜๋Š”๊ฐ€? enumerate์ด์šฉ (python์—์„œ๋Š” idx, val์ˆœ)
    dque = deque([(val,idx) for idx,val in enumerate(priorities)])
    print(dque)
    
    #์ฒซ๋ฒˆ์งธ ์›์†Œ๊ฐ€ max๋ณด๋‹ค ์ž‘์„๋• ๋ชฉ๋ก์˜ ๋’ค๋กœ / max๋ณด๋‹ค ํด ๋• ๋ฐ”๋กœ ์ถœ๋ ฅ
    while len(dque):
        J  = dque.popleft()
        if dque and max(dque)[0] > J[0]:
            dque.append(J)
        
        else:
            answer+=1
            if J[1] == location:
                break
                
            
    return answer

๋Œ“๊ธ€