[핵심] 그리디 알고리즘
최선의 선택을 하기전에 중요한것은 최선의 선택만 했을 때 답이 나오게 만들어야 한다는 것이다. sort에 key를 설정하여 x[1],x[0] 순으로 정렬을 하고 배정된 회의실의 수를 세는것이 왜 가장 많은 회의실을 배정하는 개수를 세는것인지 이해하는것이 중요하다.
import sys
num = int(input())
numlist = []
for i in range(num):
a,b = map(int,sys.stdin.readline().split())
numlist.append([a,b])
numlist.sort(key = lambda x :[x[1],x[0]])
start = 0
count =0
for i in numlist:
if i[0] >= start:
start = i[1]
count = count+1
print(count)
'Data Science > 알고리즘 공부' 카테고리의 다른 글
[백준][파이썬] 1874번: 스택 수열 (0) | 2020.03.11 |
---|---|
[백준][파이썬] 1593 문자 해독 (0) | 2020.03.10 |
[백준][파이썬] #10870 피보나치수 5 (재귀함수 활용) (0) | 2020.03.10 |
[백준] #15650 N과 M(2) (0) | 2020.03.10 |
[백준] #2869번 달팽이는 올라가고 싶다 (0) | 2020.03.10 |
댓글