티스토리 뷰

문제 링크

 

구름LEVEL

구름LEVEL 문제를 풀이하고 부족한 부분을 보완하며 실력을 키워보세요. 구름LEVEL은 코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입

level.goorm.io

풀이

def max_events(schedule):
    schedule.sort(key=lambda x: x[1])  # 끝나는 시간을 기준으로 정렬
    last_end_time = -1
    count = 0

    for event in schedule:
        if event[0] > last_end_time:  # 이전 행사 종료 시간보다 시작 시간이 크면 (시간 겹치지 않음)
            count += 1
            last_end_time = event[1]

    return count

if __name__ == "__main__":
    N = int(input())
    schedule = []
    for _ in range(N):
        s, e = map(int, input().split())
        schedule.append((s, e))

    result = max_events(schedule)
    print(result)