Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- Unreal Engine 5
- 시작해요 언리얼 2022
- Basic
- Material
- C#
- w3school
- UE5
- Tutorial
- DP
- 파이썬
- guide
- 오류
- 백준
- Class
- loop
- 프로그래밍
- parameter
- 문제풀이
- github
- Unity
- 기초
- dfs
- python
- c++
- W3Schools
- String
- 재귀
- Algorithm
- Programming
- dynamic
Archives
- Today
- Total
행복한 개구리
백준 22.04.02. 1966번 - 프린터 큐 본문
t = int(input())
for i in range(t):
n, m = map(int, input().split())
prior = list(map(int, input().split()))
prints = [[i, prior[i]] for i in range(n)]
k = 0
cnt = 0
while True:
if prints[0][1] == max(prior):
cnt += 1
if prints[0][0] == m:
print(cnt)
break
else:
prints.pop(0)
prior.remove(max(prior))
else:
prints.append(prints.pop(0))
- 큐의 특성인 FIFO(First In First Out)을 이용하여 가장 앞에 있는 명령의 중요도가 가장 우선이 아니라면 맨 뒤로 보내야합니다.
- 우선 몇번째인지 표시할 인덱스와 중요도를 함께 묶어서 저장하기 위해 2차원 배열을 사용했습니다.
- 배열 요소의 0인덱스는 해당 명령의 인덱스, 1인덱스는 명령의 중요도를 표시합니다.
- 따라서 큐의 0인덱스만 확인하여 cnt(count)를 늘리던가, 출력을 하던가, 맨 뒤로 보내던가 세가지 중 한가지 작업을 해야하기 때문에 분기를 그에 따라 나눠줍니다.
'Algorithm > BaekJoon' 카테고리의 다른 글
백준 22.04.02. 4949번 - 균형잡힌 세상 (0) | 2022.04.02 |
---|---|
백준 22.04.02. 9012번 - 괄호 (0) | 2022.04.02 |
백준 22.03.24. 10773번 - 제로 (0) | 2022.03.24 |
백준 22.03.23. 10828번 - 스택 (0) | 2022.03.23 |
백준 22.03.23. 2004번 - 조합 0의 개수 (0) | 2022.03.23 |