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