ABOUT ME

Today
Yesterday
Total
  • [Softeer] 소프티어 강의실 배정(python)
    Python/Softeer 2022. 8. 15. 16:58
    728x90

    문제)

     

     

    알고리즘)

    * 해당문제는 백준에 "회의실 배정"이란 이름의 문제 비슷합니다.

    - 목표는 가장 많이 강의실 배정을 하는 것

    - 처음에는 sorted, lambda를 사용하여 진행했으나 시간 초과!!

    - heapq를 사용하여 각 입력시간에서 fin시간이 이른 시간부터 정렬

    - 그후 기준점 과 수업 시작시간과 비교하여 사용가능하다면 cnt하고 v를 해당 start로 갱신

     

    이를 입력부에서 받은 모든 값을 돌리고 최종 cnt 출력 

     

     

    코드)

    import sys
    import heapq
    input = sys.stdin.readline
    
    n = int(input())
    
    time = []
    w = 0 #기준
    cnt = 0 #강의실 수 카운트
    
    for _ in range(n):
        start, fin = map(int, input().split())
        heapq.heappush(time, (fin, start))
    
    while time:
        f, s = heapq.heappop(time)
    
        if s >= w: #기준시간보다 start시간이 늦는다면 사용가능
            cnt += 1
            w = f
    
    print(cnt)

     

    비슷한 문제)

    728x90

    'Python > Softeer' 카테고리의 다른 글

    [Softeer] 소프티어 로봇이 지나간 경로(python)  (0) 2022.07.26
Designed by Tistory.