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 |
Tags
- 읽기 작업과 쓰기 작업 분리
- abstractpagingitemreader
- JSONObject 분할
- spring batch 5
- Spring Batch
- mybatis
- 트랜잭션 분리
- 스프링배치 csv
- spring batch 변수 공유
- executioncontext 변수 공유
- step 여러개
- 스프링 트랜잭션 관리
- JSON 분할
- 스프링 배치 5
- api 아이템 리더
- aop proxy
- 아이템 리더 페이징 처리
- 마이바티스 트랜잭션
- 스프링배치 메타테이블
- 스프링배치 엑셀
- 아이템 리더 커스텀
- JSON 분리
- 선언적 트랜잭션 관리
- flatfileitemwriter
- JSONArray 분할
- executioncontext
- job parameter
- step 사이 변수 공유
- step 값 공유
- stepexecutionlistener
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 |