https://www.acmicpc.net/problem/1966
문제 코드
문제 풀이
문제에서
가장 앞에 있는 문서의 중요도가 가장 높으면 바로 인쇄한다
= popleft 를 사용해야 하므로 deque 를 사용.
for 문을 활용하여 T 만큼 반복, 반복문 내에서 N,M 과 N개의 문서 중요도 a를 입력.
whlie을 활용하여 원하는 문서 a[M] 을 출력할 때 까지 반복.
1) a[M] 이 a의 맨 앞에 있을 때,
1-1) 이를 a의 가장 큰 수와 비교하여 a[M] 이 가장 크다면 현재 출력순서인 cnt 를 출력한 후 break
1-2) a[M] 이 가장 큰 수가 아니라면 이를 맨 뒤로 보내고 다시 반복.
2) a[M] 이 a의 맨 앞에 있지 않다면 a[0]이 a에서 가장 큰 수인지 확인.
2-1) 가장 큰 수라면 이를 popleft 하고 a[0]이 제거되었으므로 문서의 개수 N 과 원하는 문서의 번호인 M 을 -1 해줌.
2-2) 가장 큰 수가 아니라면 이를 맨 뒤로 보내고 다시 반복.
'Koala - 9기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[ 백준 / C++] 16955번 : 오목, 이길 수 있을까? (0) | 2023.02.09 |
---|---|
[ 백준 / python ] 1182번 : 부분수열의 합 (0) | 2023.02.08 |
[BOJ/C] 1018 체스판 다시 칠하기 (0) | 2023.02.06 |
[백준/파이썬] #7795 먹을 것인가 먹힐 것인가 (0) | 2023.02.06 |
[백준/Python] #8979 올림픽 (0) | 2023.02.05 |