[baekjoon]python #1966 ํ๋ฆฐํฐ ํ
https://www.acmicpc.net/problem/1966
1966๋ฒ: ํ๋ฆฐํฐ ํ
์ฌ๋ฌ๋ถ๋ ์๋ค์ํผ ์ฌ๋ฌ๋ถ์ ํ๋ฆฐํฐ ๊ธฐ๊ธฐ๋ ์ฌ๋ฌ๋ถ์ด ์ธ์ํ๊ณ ์ ํ๋ ๋ฌธ์๋ฅผ ์ธ์ ๋ช ๋ น์ ๋ฐ์ ‘์์๋๋ก’, ์ฆ ๋จผ์ ์์ฒญ๋ ๊ฒ์ ๋จผ์ ์ธ์ํ๋ค. ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์๊ฐ ์์ธ๋ค๋ฉด Queue ์๋ฃ๊ตฌ์กฐ์
www.acmicpc.net
T=int(input())
for tc in range(T):
N,M =map(int,input().split()) #๋ฌธ์์ ๊ฐ์, ๋ชฉํidx
queue = list(map(int,input().split()))
#enumerate๋ฅผ ์ด์ฉํด val(์ฐ์ ์์)๋ฅผ ์์ผ๋ก ํด์ queue๋ฐฐ์ด ๋ค์ ์ ์ธ
queue = [(val,idx) for idx,val in enumerate(queue)]
count=0
while True:
#์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์๊ฒ ๋ฐฐ์ด์ ์ ์ผ ์์ ์์ ๋ +1
if max(queue)[0] == queue[0][0]:
count+=1
#๋ชฉํidx์ ๊ฐ์ ๋, count์ถ๋ ฅํ break
if queue[0][1] == M:
print(count)
break
#์๋๊ฒฝ์ฐ pop!
else:
queue.pop(0)
#์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ์น๊ตฌ๊ฐ ๋งจ ์์ด ์๋๊ฒฝ์ฐ
#popํ๊ณ ๋ค์ ์ ค ๋ค์ append
else:
queue.append(queue.pop(0))
'Problem Solving > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[baekjoon]python #2108 ํต๊ณํ (0) | 2022.06.24 |
---|---|
[baekjoon]python #4949 ๊ท ํ์กํ ์ธ์ (0) | 2022.06.24 |
[baekjoon]python #2805 ๋๋ฌด ์๋ฅด๊ธฐ (0) | 2022.06.23 |
[baekjoon]python #1874 ์คํ ์์ด (0) | 2022.06.23 |
[baekjoon]python #10773 ์ ๋ก (0) | 2022.06.23 |
๋๊ธ