[baekjoon] 1931 회의실 배정 실버 1

윤주원·2024년 11월 29일
0

baekjoon

목록 보기
6/13
post-thumbnail

그리디 알고리즘 문제
해당 링크 : https://www.acmicpc.net/problem/1931

생각

  1. 한 줄의 입력을 좌표로 생각
  2. 2번째 좌표가 다음의 좌표보다 작다면 채택
  3. 모든 횟수 더하기

코드

n = int(input())
arr = []
for i in range(n):
    a,b = map(int,input().split())
    arr.append((a,b))

end = 0
arr.sort(key = lambda x : (x[1],x[0]))
cnt = 0

for i in range(n):
    if end < arr[i][0]:
        end = arr[i][1]
        cnt +=1

print(cnt)

깨달은점

  • 좌표를 정렬해서 할 생각을 못했음.
  • lambda를 사용하여 쉽게 정렬
  • key = lambda x : (x[1],x[0]) 여기에서 처음으로는 x[1]을 기준으로 오름차순으로 정렬하고, x[1]가 같다면 x[0]로 정렬하는 의미
  • 자주 안써서 까먹었는데 다시 한번 리마인드 되는 기회였음
profile
안녕하세요

0개의 댓글