Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- job parameter
- 트랜잭션 분리
- executioncontext 변수 공유
- 아이템 리더 페이징 처리
- api 아이템 리더
- JSONObject 분할
- mybatis
- 읽기 작업과 쓰기 작업 분리
- spring batch 5
- JSONArray 분할
- 선언적 트랜잭션 관리
- executioncontext
- abstractpagingitemreader
- stepexecutionlistener
- 스프링 트랜잭션 관리
- 스프링 배치 5
- step 사이 변수 공유
- 스프링배치 엑셀
- 마이바티스 트랜잭션
- aop proxy
- 스프링배치 메타테이블
- Spring Batch
- spring batch 변수 공유
- 아이템 리더 커스텀
- flatfileitemwriter
- step 값 공유
- JSON 분리
- 스프링배치 csv
- step 여러개
- JSON 분할
Archives
- Today
- Total
ebson
boj.kr/11000 강의실 배정 (gold5) 파이썬 풀이 본문
1. 강의시간 리스트 정렬
2. heapq에 가장 먼저 시작하는 강의의 종료시간 저장
3. 강의시간 리스트를 모두 순회
3.1. 강의시간 리스트 요소의 강의 시작시간이 heapq에 저장된 최소 종료시간보다 이르면 강의시간 리스트 요소의 강의 종료시간을 heapq에 저장
3.2. 강의시간 리스트 요소의 강의 시작시간이 heapq에 저장된 최소 종료시간보다 이르지 않으면 heapq에서 최소 종료시간을 heappop하고 강의시간 리스트 요소의 강의 종료시간을 heappush
4. heapq의 길이를 출력
import sys
input = sys.stdin.readline
N = int(input())
times = [list(map(int, input().split())) for _ in range(N)]
times.sort()
import heapq as hq
times_q = []
hq.heappush(times_q, times[0][1])
for i in range(1, len(times)):
if times[i][0] < times_q[0]:
hq.heappush(times_q, times[i][1])
else:
hq.heappop(times_q)
hq.heappush(times_q, times[i][1])
print(len(times_q))
'ALGORITHM STUDY WITH PYTHON > Greedy' 카테고리의 다른 글
boj.kr/1744 수 묶기 (gold4) 파이썬 풀이 (0) | 2023.05.14 |
---|---|
boj.kr/1202 보석 도둑 (gold2) 파이썬 풀이 (0) | 2023.05.11 |
boj.kr/1339 단어 수학 (gold4) 파이썬 풀이 (0) | 2023.05.09 |
boj.kr/1946 신입사원 (silver1) 파이썬 풀이 (0) | 2023.05.08 |
boj.kr/1715 카드 정렬하기 (gold4) 파이썬 풀이 (0) | 2023.05.08 |
Comments