알고리즘/programmers

[Programmers] [1차] 셔틀버스

꾸준함. 2022. 4. 15. 00:17

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

 

코딩테스트 연습 - [1차] 셔틀버스

10 60 45 ["23:59","23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59"] "18:00"

programmers.co.kr

문제에서 주어진대로 풀면 되는 문제였습니다.

 

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

1. 예제를 보면 timetable이 정렬되어 있지 않기 때문에 시간 오름차순으로 정렬을 진행합니다.

2. timetable의 크기가 최대 2,000이므로 브루트 포스로 접근해도 되는 문제입니다. 셔틀버스에 크루를 최대한 많이 태웁니다.

3. 2번 과정을 거쳤는데 크루가 한명도 못 탔다면 마지막 셔틀버스에 그냥 타면 됩니다.

3.1 마지막 셔틀버스에 m명 미만으로 탔다면 마지막 셔틀버스에 타면 됩니다.

3.2 마지막 셔틀버스까지 꽉 찼다면 마지막 셔틀버스에 제일 먼저 탄 크루보다 1분 먼저 대기하면 됩니다.

-> 문제 조건 확인: 단, 콘은 게으르기 때문에 같은 시간에 도착한 크루 중 대기열에서 제일 뒤에 선다.

 

 

개발환경: Programmers IDE

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

반응형