코드
코드 설명
- n개 문서들의 중요도를 차례로 나열한 것을 큐인 dq에 받아 저장
- dq를 복사한 큐 dqc 생성
- 몇 번째로 출력되는지 궁금한 문서의 위치가 m이므로 dqc 큐에 있는 m위치에 있는 문서의 중요도를 -1로 변경
- 중요도는 1이상 9이하 정수이고, max 함수를 사용할 것이기 때문에 중요도 변경 시 max 값에 걸리지 않기 위해 -1로 설정
- 중요도가 같은 문서가 있을 수 있으므로 dqc의 중요도만 변경하고 dq는 유지해 올바른 순서를 판단
- dq에 남아있는 문서가 없을 때까지 반복
- dq의 맨 앞 문서의 중요도가 남아있는 문서들 중 제일 크다면 순서를 측정하는 count를 1증가
- 이때 dqc의 맨 앞 문서의 중요도가 -1이라면 우리가 찾던 그 문서이므로 count 값을 출력 후 반복문 종료
- 우리가 찾던 문서가 아니라면 dq와 dqc의 맨 앞 문서들 pop
- dq의 맨 앞 문서의 중요도가 남아있는 문서들 중 제일 크지 않다면 pop하고 큐 dq와 dqc의 가장 마지막에 추가
- dq의 맨 앞 문서의 중요도가 남아있는 문서들 중 제일 크다면 순서를 측정하는 count를 1증가
'Koala - 9기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준 / python] #12789: 도키도키 간식드리미 (0) | 2023.02.12 |
---|---|
[백준/Python] 1718번 암호 (0) | 2023.02.10 |
[ 백준 / C++] 16955번 : 오목, 이길 수 있을까? (0) | 2023.02.09 |
[ 백준 / python ] 1182번 : 부분수열의 합 (0) | 2023.02.08 |
[백준/python] 1966번 : 프린터 큐 (0) | 2023.02.06 |