2

[백준/파이썬] 1966: 프린터 큐

문제 풀러 가기!! 큐, 구현 문제였다.! 큐를 두개 만들어서 풀었다. 하나는 문서 중요도들만 내림차순으로 담은 큐(1번 큐라고 하겠다), 하나는 tuple(문서 중요도, 문서 번호)로 묶어서 담은 큐(2번 큐라고 하겠다)! 처음 프린터 큐에서 M번째 문서를 몇 번째로 프린트했는지를 구하는 것이라서, 문서 번호(처음 프린터 큐에서 몇 번째로 위치하는지)를 저장해야 한다. 두번째 큐의 맨 앞에 있는 것을 뽑으면(popleft) 인쇄할 차례가 된 문서가 된다. 그 문서의 중요도가 그때 있는 문서들 중에서 가장 높으면(첫번째 큐의 맨 앞 원소를 확인하기), 프린트를 했다고 본다. 프린트를 했으면 첫번째 큐에서도, 두번째 큐에서도 맨 앞에 있는 원소를 빼주면 된다. 프린트를 하지 않으면, 두번째 큐의 맨 앞 원..

[백준-파이썬] 22234: 가희와 은행

문제 보러 가기! 문제를 꼼꼼히 읽고 구현하려고 했다~ 큐를 하나 만들어서 은행 대기 줄을 구현했다. 이미 줄 서있는 사람들은 이 큐에 넣고 시작했고, 나중에 오는 사람들은 시간이 될 때 큐 안에 넣었다. 1. 큐의 맨 앞에 있는 고객을 만나기 2. 고객 업무 처리하기 1) 고객에게 필요한 시간이 T보다 크거나 같으면 T초 동안 그 고객을 만났다. 시간을 1초씩 움직이면서, 그 고객 아이디를 출력했고, 만약에 그때 은행에 들어온 고객이 있는지 체크하고 있으면 큐 안에 넣어주었다. => 다 끝난 후에, 고객이 다시 뒤에 가서 서야 하면(필요한 시간이 T보다 컸으면) 큐의 맨 뒤에 넣었다. 2) 고객에게 필요한 시간이 그보다 작으면 필요한 시간만큼만 고객을 만나면 된다. 이때도 시간을 1초씩 움직이면서, 그..

728x90