[ํ๋ก๊ทธ๋๋จธ์ค-Lv2] ํ๋ฆฐํฐ / Python
๐ Problem Solving/Programmers
import sys
input = sys.stdin.readline
priorities = list(map(int, input().split()))
location = int(input())
def solution(priorities, location):
priorities = [(priorities[x], x) for x in range(len(priorities))]
answer = 0
while True:
if priorities[0][0] == max(priorities)[0] and priorities[0][1] == location:
answer += 1
break
if priorities[0][0] < max(priorities)[0]:
num, idx = priorities.pop(0)
priorities.append((num, idx))
else:
answer += 1
priorities.pop(0)
return answer
print(solution(priorities, location))
ํด์ค
๋ฆฌ์คํธ์ priorities์ ๊ฐ๊ณผ ์ธ๋ฑ์ค๋ก ํํํ์์ผ๋ก ์ ์ฅํด์ค๋ค.
1) ๋ฆฌ์คํธ์ ๋งจ ์ ํํ์ ์ ์ฅ๋ ๊ฐ์ด ๋ฆฌ์คํธ์ ์ต๋์ด๋ฉด์ ๋ฆฌ์คํธ์ ๋งจ ์ ํํ์ ์ ์ฅ๋ ์ธ๋ฑ์ค๊ฐ location๊ณผ ์ผ์นํ๋ฉด ๋ฐ๋ณต๋ฌธ์ ์ค๋จํ๋ค.
2) ๋ฆฌ์คํธ์ ๋งจ ์ ํํ์ ์ ์ฅ๋ ๊ฐ์ด ๋ฆฌ์คํธ์ ์ต๋๋ณด๋ค ์์ผ๋ฉด ํํ์ ์ ์ฅ๋ ๊ฐ๊ณผ ์ธ๋ฑ์ค๋ฅผ pop์ํค๊ณ ๋ค์ append ์ํจ๋ค.
3) ๋ฆฌ์คํธ์ ๋งจ ํํ์ ์ ์ฅ๋ ๊ฐ์ด ์ต๋์ด๋ฉด ์ ๊ฑฐํ๋ค.
'๐ Problem Solving > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค-Lv2] ์์์ฐพ๊ธฐ / Python (0) | 2021.06.03 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค-Lv2] ์กฐ์ด์คํฑ / Python (0) | 2021.06.02 |
[ํ๋ก๊ทธ๋๋จธ์ค-Lv2] ์ ํ๋ฒํธ ๋ชฉ๋ก / Python (0) | 2021.06.02 |
[ํ๋ก๊ทธ๋๋จธ์ค-Lv2] ํ๊ฒ ๋๋ฒ / Python (0) | 2021.06.02 |
[ํ๋ก๊ทธ๋๋จธ์ค-Lv2] ๋ ๋งต๊ฒ / Python (0) | 2021.06.02 |