일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- appendleft
- 프로그래머스
- 백준
- 브루투포스
- JPA
- 1일1솔
- c#
- C#강의
- 파이썬
- spring
- Java
- python3
- LCM
- 그리디 알고리즘
- mvc
- 완전탐색
- popleft
- 소수찾기
- pypy3
- 우선순위큐
- 소수판별
- 누적합
- 인프런
- DP
- deque
- 연관관계
- unity
- 합 구하기
- Python
- BFS
- Today
- Total
목록정렬 (2)
jae_coding

문제 문제 링크 문제 접근 강의실은 한정적이기 때문에 최소 강의실 사용한다. 강의는 모두 Si ~ Ti까지 강의를 진행한다. 수업이 끝난 직후에 다른 수업이 진행 가능하다. 강의 시작시간이 낮은 강의부터 오름차순 정렬을 진행한다. 강의가 끝나는 시간을 우선순위큐에 푸쉬를 해주면서 정렬된 강의의 시작시간이 진행중인 강의 종료시간보다 느리다면 우선순위 큐를 팝 해준 후 종료시간 푸쉬를 해준다. 그렇지 않으면 종료시간만 푸쉬를 해준다. 결론적으로 강의 시간이 곂치게 된다면 두개의 강의가 동시에 들어가기때문에 강의실의 개수는 우선순위 큐의 길이가 된다. 코드 import sys import heapq def main(): N = int(sys.stdin.readline()) SiTi = list() for _ ..

문제 문제 링크 문제 접근 B에 있는 수를 재배열 하면 안 된다에서 많은 고민을 하였지만 알고리즘 상에서 상관없기 때문에 재배열은 아니다. 리스트를 2개를 이용하지만 A 리스트는 오름차순, B리스트는 내림차순으로 정렬을 한다 두 리스트를 index 값끼리 곱하여 합을 구한다 코드 import sys def main(): N = int(sys.stdin.readline()) sum = 0 sorted_A = list() sorted_B = list() A = sys.stdin.readline().strip().split() B = sys.stdin.readline().strip().split() for i in range(N): sorted_A.append(int(A[i])) sorted_B.append(..