데하! 안녕하세요 DevStone입니다!
그리디 문제 네 번째 회의실 배정 문제입니다.
저 또한 공부하면서 포스팅하는 거라 제 알고리즘이 최적이거나
정답은 아닙니다! 단순히 참고 용도로 부탁드립니다.
문제

풀이

문제 처음에 읽고 많이 당황했습니다ㅋㅋ.. 어떻게 접근해야 할지 막막해서 한참 고민하다
일찍 끝나는 회의를 최대한 앞으로 몰면 가장 많은 회의를 할 수 있지 않을까 생각하여
해당 방법으로 작성했습니다.
우선 2차원 배열을 선언해 주었습니다.
for문을 통해 시작시간, 종료시간을 입력받습니다.
그 후 sort 함수와 람다식을 활용하여 종료시간을 오름차순으로 정렬해줍니다.
그 뒤 가장 첫 번째 종료시간을 end_time으로 지정해줍니다. (이 과정이 있기 때문에 meeting_cnt를 1로 선언)
for문을 돌려 시작시간이 end_time 보다 큰 값을 찾고 meeting_cnt를 1 더해주며
해당 회의의 종료시간을 end_time으로 다시 지정 해줍니다.
이 과정을 반복하면
meeting_cnt 를 얻을 수 있습니다.
문제 링크
https://www.acmicpc.net/problem/1931
1931번: 회의실 배정
(1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다.
www.acmicpc.net
해당 소스는 git에서 확인하실 수 있습니다.
https://github.com/Maker-Kim/Study/blob/master/Algorithm/Baekjoon_1931.py
GitHub - Maker-Kim/Study
Contribute to Maker-Kim/Study development by creating an account on GitHub.
github.com
'개발 > Algorithm' 카테고리의 다른 글
BAEKJOON Algorithm_5585번 (0) | 2021.07.30 |
---|---|
BAEKJOON Algorithm_1541번 (0) | 2021.07.29 |
BAEKJOON Algorithm_11047번 (0) | 2021.07.28 |
BAEKJOON Algorithm_11399번 (0) | 2021.07.23 |
BAEKJOON Algorithm_2839번 (0) | 2021.07.22 |