728x90
반응형
Python 문제풀이
# 프린터 큐
n = int(input())
result=[]
for i in range(n):
a,b = map(int, input().split())# a는 문서의 개수, b는 출력 순번을 알고자하는 문서의 위치
x= input().split()
y=[]
#y는 처음 입력받은 문서의 중요도 리스트
for j in range(a):
y.append(x[j])
x.sort(reverse=True) #x는 문서의 중요도 리스트를 내림차순 시킨 것
position=0 #y를 원형큐로 사용하기 위해 현재 위치를 나타내는 변수
for j in range(a):# 문서의 개수만큼 반복
while 1:
if y[position] == x[j]: #만약 찾고있는 중요도가 리스트(y)에서 발견되었는데
if position==b: #y에서 발견된 위치와 출력 순번을 알고자하는 문서의 위치가 동일하다면
result.append(j+1) # j+1번째에 출력되었습니다. (결과리스트에 추가)
# 포지션 증가 (원형큐)
if position == a - 1:
position = 0
else:
position += 1
break
# 포지션 증가 (원형큐)
if position == a-1:
position=0
else:
position +=1
for i in range(n):
print(result[i])
자세한 것은 주석에 작성하였습니다.
원형큐를 구현하기 위한 포지션 증가값의 코드 반복이 조금 거슬리긴 했지만 오늘은 문제를 풀은것으로 만족하겠습니다. 다음부터는 꼭 함수의 사용을..!
728x90
반응형
'코딩문제풀이 > 백준' 카테고리의 다른 글
[백준 2675번] 문자열반복 Java 풀이 (0) | 2021.09.02 |
---|---|
[백준 11866번] 요세푸스 문제0 Java 풀이 (0) | 2021.07.13 |
[백준 10773번] 제로 Python 풀이 (0) | 2021.07.09 |
[백준 2941번] 크로아티아 알파벳 Python 풀이 (0) | 2021.07.09 |
[백준 1874번] 스택 수열 Python 풀이 (0) | 2021.07.09 |