알고리즘/programmers

[Programmers] 무지의 먹방 라이브

꾸준함. 2024. 7. 23. 00:28

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/42891

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

우선순위 큐를 사용해 풀 수 있는 문제였습니다.

 

알고리즘은 아래와 같습니다.

1. 전체 음식을 다 먹는 시간이 k보다 작거나 같다면 더 먹을 음식이 없으므로 -1을 반환합니다.

2. 음식의 남은 시간을 기준으로 오름차순 정렬하기 위해 최소 힙을 선언하고 {음식 섭취 시간, 음식 인덱스} 형식으로 저장합니다.

3. k초 안에 모두 섭취할 수 있는 음식을 2번에서 선언한 우선순위 큐에서 제거해 줍니다.

4. 우선순위 큐에 남은 음식을 번호 기준으로 오름차순 정렬한 뒤 모듈러 연산을 통해 답을 구해줍니다.


 

개발환경: Programmers IDE  

 

지적, 조언, 질문 환영합니다! 질문 남겨주세요~

반응형