import sys
input = sys.stdin.readline
answer = 0
time = 0
time_table = []
#입력부
for _ in range(int(input())) :
start, end = map(int, input().split())
time_table.append((end, start))
#연산부
time_table.sort()
for end, start in time_table :
if time <= start :
time = end
answer += 1
print(answer)
그리디 알고리즘을 이용해 해결했다.
처음부터가 아닌 뒤부터 검사를 진행해 뒤쪽부터 채워주는 알고리즘을 구성했다.
'프로그램 > 코딩테스트' 카테고리의 다른 글
백준 11724 연결 요소의 개수 (0) | 2022.06.13 |
---|---|
백준 1449 수리공 항승 (0) | 2022.06.13 |
백준 3085 사탕 게임 (0) | 2022.06.13 |
백준 10448 유레카 이론 (0) | 2022.06.13 |
백준 3040 백설 공주와 일곱 난쟁이 (0) | 2022.06.13 |
댓글