반응형
250x250
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 |
Tags
- python
- 백준 그래프 이론 파이썬
- 파이썬
- 2022년 정보처리기사 실기
- 그리디
- 정보처리기사 실기 시험
- 2022년 정보처리기사 실기 1회 가답안
- 백준 토마토 파이썬
- 코드
- 정보처리기사
- 토마토
- 알고리즘
- 코딩테스트
- 프로그래머스 파이썬
- it
- 프로그래머스
- 백준 백트랙킹 파이썬
- BFS
- 백준 N-Queens
- 백준
- 백준 그래프 탐색 파이썬
- 자바
- 백준 백트랙킹
- 코딩
- 자료구조
- dfs
- 2022년 정보처리기사 실기 가답안
- 정보처리기사 실기
- 프로그래밍
- BOJ
Archives
- Today
- Total
코딩,안되면 될때까지
[백준 1966번 - 프린터 큐]-파이썬 본문
728x90
반응형
solved.ac 난이도 : silver3
백준 1966번- 파이썬 풀이
<문제>
https://www.acmicpc.net/problem/1966
<풀이>-시뮬레이션,큐자료구조
1.queue에 (문서의 중요도, 문서의 위치)순으로 입력받은 중요도를 삽입한다.
2.queue[0][0]!=max(queue)[0]이라면 queue.popleft()를 한다음 queue의 맨 뒷부분에 삽입한다.
3.queue[0][0]==max(queue)[0]이라면 count+=1를 해준다.(count : 출력되는 순서를 저장하는 변수)
4.queue.popleft()를 한다음 문서의 중요도는 x, 문서의 위치는 y에 저장한다.
(x,y = queue.popleft())
5.y==b(출력순서가 궁금한 문서의 위치) 라면 count를 출력하고 while문을 멈춘다.(break)
6.y!=b라면 while문을 계속 진행한다.(continue)
7.queue가 빌때까지 위 2~6번 과정을 반복한다.
<코드>-파이썬
from collections import deque
T = int(input())
for _ in range(T):
count = 0
queue = deque()
a,b = map(int,input().split())
printQ = list(map(int,input().split())) #문서의 중요도 입력
for i in range(len(printQ)): #(문서의 중요도, 위치)
queue.append((printQ[i],i))
while queue:
if queue[0][0] != max(queue)[0]:
x,y = queue.popleft()
queue.append((x,y)) #x:문서의 중요도, y :위치
else:
count+=1
x,y = queue.popleft()
if y == b:
print(count)
break
else:
continue
728x90
반응형
'백준 > 백준-파이썬' 카테고리의 다른 글
[백준 1107번-리모컨]-파이썬 (6) | 2022.03.20 |
---|---|
[백준 15686번 - 치킨배달]-파이썬 (4) | 2022.03.19 |
[백준 1018번-체스판 다시 칠하기]-파이썬 (6) | 2022.03.17 |
[백준 14499번 - 주사위 굴리기]-파이썬 (18) | 2022.03.16 |
[백준 18406번-럭키 스트레이트]-파이썬 (32) | 2022.03.14 |
Comments