ํฐ์คํ ๋ฆฌ ๋ทฐ
728x90
๋ฐ์ํ
๋ฌธ์
๋ฌธ์ ํ์ด
ํ๋ฆฐํฐ๋ฅผ ํ๊ธฐ ์ํ ๋ฌธ์ ๋๊ธฐ์ด์ ๋ฌธ์๋ค์ด ์๋ค. ์ด๋, ๊ฐ ๋ฌธ์๋ค์ `์ฐ์ ์์`๋ฅผ ๊ฐ์ง๋ค. ํ(๋ฌธ์ ๋๊ธฐ์ด)์์ ๋ฌธ์๋ฅผ ์ธ์ํ๊ณ ์ ํ ๋ ํ์ ์๋ ๋ฌธ์๋ค ์ค ์ฐ์ ์์๊ฐ ํ๋๋ผ๋ ๋์ ๊ฒ์ด ์๋ค๋ฉด, ํ๋ฆฐํธํ์ง ์๊ณ ํ์ ๋งจ ๋ค๋ก ๋ณด๋ธ๋ค.
์ด๋ ์์ ๋ค๋ฃฌ ํ๋ก๊ทธ๋๋จธ์ค: ํ๋ฆฐํฐ์ ์ ์ฌํ ๋ฌธ์ ์ด๋ค. ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์ ๋ค์๊ณผ ๊ฐ์ด ์ ๊ทผํ์๋ค.
- ์ต์ด์ ๋ฌธ์๊ฐ ์์นํ ์ธ๋ฑ์ค๋ฅผ ์๊ธฐ ์ํด `enumerate`๋ฅผ ํ์ฉํ๋ค.
- `deque`๋ฅผ ํ์ฉํ์ฌ, ์ธ์ ๊ฐ๋ฅํ ์ํ์ด๋ฉด ์นด์ดํธ๋ฅผ ์ฆ๊ฐํ๊ณ ์๋ ๊ฒฝ์ฐ `append`ํ๋ค.
์ฝ๋
from sys import stdin
from collections import deque
if __name__ == "__main__":
T = int(stdin.readline())
for _ in range(T):
N, M = map(int, stdin.readline().split())
q = deque(enumerate(map(int, stdin.readline().split())))
cnt = 0
while q:
cur_max = max(q, key=lambda x: x[1])[1]
idx, priority = q.popleft()
if priority >= cur_max:
cnt += 1
if idx == M:
break
else:
q.append((idx, priority))
print(cnt)
728x90
๋ฐ์ํ
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 2346 ํ์ ํฐ๋จ๋ฆฌ๊ธฐ (0) | 2021.03.10 |
---|---|
๋ฐฑ์ค: 2493 ํ (0) | 2021.03.10 |
๋ฐฑ์ค: 10422 ๊ดํธ (0) | 2020.11.09 |
๋ฐฑ์ค: 14426 ์ ๋์ฌ ์ฐพ๊ธฐ (0) | 2020.10.27 |
๋ฐฑ์ค: 14425 ๋ฌธ์์ด ์งํฉ (0) | 2020.10.27 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ