Skip to content

Conversation

@lkhyun
Copy link
Contributor

@lkhyun lkhyun commented Sep 9, 2025

🧷 문제 링크

https://www.acmicpc.net/problem/17612

🧭 풀이 시간

80분

👀 체감 난이도

✏️ 문제 설명

쇼핑몰 계산대에 고객들이 순서대로 계산하려고 기다림.
안내원은 계산대가 계산 가능해지는 시간이 가장 짧은 곳에 고객들을 먼저 배정함.
같다면 계산대 번호가 더 작은 곳에 먼저 배정함.
고객들은 계산이 끝나면 나감. 이때 동시에 끝나는 경우에는 계산대 번호가 더 큰 곳에서 계산한 사람이 먼저 나감.
사람들이 나가는 순서를 구하는 문제.

🔍 풀이 방법

우선순위 큐
먼저 1.시간 기준 2.번호 작은순의 정렬 조건으로 우선순위 큐(in)를 만듦
그리고 1.시간 기준 2.번호 큰순의 정렬 조건으로 우선순위 큐(out)를 하나더 만듦

여기에 시간을 0초로 하고 모든 계산대 번호를 in에 넣음.
하나씩 뽑아서 사람들의 계산 시간을 더해준 후 다시 넣음.
이때 out에는 더해진 시간과 계산대 번호, 고객 번호를 넣음.
어차피 사람들이 계산을 마치고 나가는 시간은 배정받은 계산대 남은 시간 + 자기 계산 시간이니까 배정 받을 때 이미 결정이 남.
모두 배정하고 out에서 뽑은 순서가 사람들이 나가는 순서가 됨.

⏳ 회고

문제를 잘못 읽어서 애초에 고객들이 줄 서있는 거를 정렬하고 그랬음.
생각이 막 꼬였지만 크게 어려운 문제는 아니었던 것 같다. 약간 B형같았다.

@lkhyun lkhyun self-assigned this Sep 9, 2025
@lkhyun lkhyun added the success 👍 해설을 보지 않고 풀었을 때 label Sep 9, 2025
@ShinHeeEul ShinHeeEul merged commit d567f9f into main Sep 9, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants