๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐‘†๐‘ข๐‘›๐‘ โ„Ž๐‘–๐‘›๐‘’ ๐‘Ž๐‘“๐‘ก๐‘’๐‘Ÿ ๐‘Ÿ๐‘Ž๐‘–๐‘›โœง

[Python] ๋ฐฑ์ค€ 1966 & ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๊ธฐ๋Šฅ๊ฐœ๋ฐœ ๋ณธ๋ฌธ

#๋ฐฑ์ค€ 1966 ํ”„๋ฆฐํ„ฐ ํ

#์ค‘์š”๋„๊ฐ€ ๋†’์œผ๋ฉด ์ถœ๋ ฅ, ์•„๋‹ˆ๋ฉด ๋’ค๋กœ๋ณด๋‚ด๊ธฐ
#๋ช‡๋ฒˆ์งธ๋กœ ์ถœ๋ ฅํ•˜๋Š”์ง€๊ฐ€ ์ •๋‹ต.
#์ฆ‰ ์ค‘์š”๋„๊ฐ€ ๋†’์œผ๋ฉด pop์œผ๋กœ ์ถœ๋ ฅํ•œํ›„ cnt+1 
#์•„๋‹ˆ๋ฉด ๋’ค๋กœ ๋ณด๋‚ด๊ธฐ

import queue

def printer(queue):
    cnt = 0
    while True:
        if queue[0][0] == max(queue, key=lambda x:x[0])[0]:
            cnt+= 1
            if queue[0][1] == m:
                return cnt
            else:
                queue.pop(0) #์ค‘์š”๋„ ๋†’์€ ์ˆœ์„œ๋Œ€๋กœ ํ”„๋ฆฐํŠธํ•ด์ฃผ๊ธฐ๋‹ˆ๊น pop์‚ฌ์šฉ
        else:
            queue.append(queue.pop(0))

t = int(input())
for _ in range(t):
    n, m = map(int, input().split())
    queue = list(map(int, input().split()))
    queue = [(imprt, i) for i, imprt in enumerate(queue)]
    #queue[0] = (imprt, i), queue[0][0] = imprt
    print(printer(queue))

 

 

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

import queue

progresses = input()
speeds = input()

def solution(progresses, speeds):
    answer = []
    while progresses:
        for i in range(len((progresses))):
            progresses[i] += speeds[i]

        cnt = 0
        while progresses and progresses[0] >= 100:
            progresses.pop(0)
            speeds.pop(0)
            cnt += 1

        if cnt > 0: answer.append(cnt)
    return answer

solution(progresses, speeds)

 

๐Ÿ“Points

  • enumerate() ํ•จ์ˆ˜
    • ์ธ๋ฑ์Šค(index)์™€ ์›์†Œ๋ฅผ ๋™์‹œ์— ์ ‘๊ทผํ•˜๋ฉด์„œ ๋ฃจํ”„enumerate()๋ฅผ ๋Œ๋ฆฐ๋‹ค.
    • ํ•จ์ˆ˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ธ๋ฑ์Šค์™€ ์›์†Œ๋กœ ์ด๋ฃจ์–ด์ง„ ํŠœํ”Œ(tuple)์„ ๋งŒ๋“ ๋‹ค.
    • ๋”ฐ๋ผ์„œ ์ธ๋ฑ์Šค์™€ ์›์†Œ๋ฅผ ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ธ์ž ํ’€๊ธฐ(unpacking)ํ•ด์ฃผ๊ธฐ
      ex) [(x, y) for y ,x in enumerate(list)]
  • queue
    • ์–ด๋Š ์‹œ์ ์—์„œ ํ’€์–ด์•ผํ•˜๋Š” ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ๋ชจ์•„์„œ ์ฒ˜๋ฆฌํ•ด์•ผํ•œ๋‹ค๋ฉด ํ๋ฅผ ์‚ฌ์šฉ
    • ๋ฌธ์ œ์—์„œ ์ฒ˜๋ฆฌํ•ด์•ผํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ๋ฒˆ์— ์—ฌ๋Ÿฌ๊ฐœ ์ƒ๊ธฐ๊ฑฐ๋‚˜, ๋ฐ˜๋ณต์ ์œผ๋กœ ํŠน์ •์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ๊ตฌ์กฐ์ผ๋•Œ ํ๋ฅผ ์‚ฌ์šฉํ•˜์ž
    • ๋‹ค์Œ์— ์ฒ˜๋ฆฌํ•  ๋ชฉํ‘œ๋ฅผ ์Œ“์•„๋‘ ์œผ๋กœ์จ ์ ‘๊ทผํ•˜๊ธฐ ํŽธํ•˜๊ฒŒ ํ•œ๋‹ค.