[ 2023-06-13 ๐Ÿ˜ TIL ]

Burkeyยท2023๋…„ 6์›” 13์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
98/157

๋ฐฑ์ค€ 1966๋ฒˆ ํŒŒ์ด์ฌ ๋ฌธ์ œํ’€์ด


๋ฌธ์ œ


๋ฌธ์ œ ํ’€์ด


import sys

input = sys.stdin.readline

n = int(input())

for _ in range(n):
  n, m = map(int, input().split())
  works = list(map(int, input().split()))
  works_li = [{ "id" : i, "val" : works[i]} for i in range(n)]
  # ๋ฌธ์„œ๋“ค์˜ ์ค‘์š”๋„์™€ ์ฒ˜์Œ ์œ„์น˜๋ฅผ ์ €์žฅํ•œ๋‹ค.
  turn = 0
  
  while True:
    check = True # ๋’ค์— ๊ฐ’๋“ค ์ค‘์— ํฐ ์ˆ˜๊ฐ€ ํ•˜๋‚˜๋ผ๋„ ์žˆ๋Š”์ง€ ์ฒดํฌํ•˜๋Š” ๋ณ€์ˆ˜
    
    for j in range(1, n):
      if works_li[0]['val'] < works_li[j]['val']:
        check = False
        works_li.append(works_li.pop(0)) # ๋งจ ์•ž์— ๊ฐ’์„ ๋’ค์— ๋„ฃ์–ด์คŒ
        break # for๋ฌธ์„ ๋ฐ”๋กœ ๋น ์ ธ๋‚˜์™€์„œ check๊ฐ’์˜ ๋ณ€ํ™”๋ฅผ ์—†๊ฒŒ ํ•จ 

    if check : # ๋งจ ์•ž์˜ ๊ฐ’์ด ์ œ์ผ ํด ๊ฒฝ์šฐ
      n -= 1 # 
      turn += 1
      
      if works_li[0]['id'] == m : # m๊ฐ’๊ณผ ๋™์ผํ•œ ๊ฐ’์ด๋ฉด ๋ฐ˜๋ณต๋ฌธ ๋‚˜์˜ด
        break
      else : 
        works_li.pop(0)
    
  print(turn)

์˜ค๋Š˜์€ ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘์— ํ๋ฅผ ์ด์šฉํ•œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
์•„์ง ์ต์ˆ™ํ•˜์ง€๊ฐ€ ์•Š์•„์„œ ๊ทธ๋Ÿฐ์ง€ ์Šคํƒ๋ณด๋‹ค ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์œ ํ˜•์˜ ํ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋ฉฐ ์ˆ™๋ จํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค.

profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€