본문 바로가기
코딩테스트/Python

[python 구름] 구름 스퀘어

by nahkim 2023. 5. 20.

📜 접근 방법

회의실 배정과 같은 문제는 그리디 알고리즘으로 푼다

종료시간이 빠른 기준으로 우선순위를 잡는다.

 

  1. 시작 시간과 종료 시간을 받아 리스트에 넣는다.
  2. 우선순위는 첫번째로 종료시간이 빠르고, 두번째론 시작시간이 빠른 순으로 정렬한다.
  3. events를 돌면서 시작 시간 보다 종료 시간이 적을 경우 cnt + 1 해주고 종료 시간을 변경해준다.

 

❌ 실패 코드

 

✅ 정답 코드

import sys
input = sys.stdin.readline

n = int(input())
events = []
for _ in range(n):
	s, e = map(int, input().split())
	events.append([s, e])

events.sort(key = lambda x : (x[1], x[0]))
cnt = end = 0
for s, e in events:
	if s > end:
		cnt += 1
		end = e

print(cnt)

💡알게 된점

'코딩테스트 > Python' 카테고리의 다른 글

[python 구름] 보드 게임  (0) 2023.05.22
[python 구름] 피보나치 수  (0) 2023.05.21
[python 구름] 직사각형 만들기  (0) 2023.05.19
[python 구름] 거스름돈  (0) 2023.05.17
[python 구름] 1차원 뿌요뿌요  (0) 2023.05.16