sort

https://www.acmicpc.net/problem/11000코드import sysfrom heapq import heappop, heappushinput = sys.stdin.readlinen = int(input())classes = []for _ in range(n): s, t = map(int, input().split()) classes.append([s, t])classes.sort()used = []for i in range(n): if used and used[0]
https://www.acmicpc.net/problem/2790코드import sysinput = sys.stdin.readlinen = int(input())scores = [int(input()) for _ in range(n)]scores.sort(reverse=True)cutline = scores[0]+1answer = 1for i in range(1, n): possible_max_score = scores[i]+n if cutline > possible_max_score: break cutline = max(cutline, scores[i]+i+1) answer += 1print(answer)
https://www.acmicpc.net/problem/14233 코드n = int(input())deadlines = list(map(int, input().split()))deadlines.sort()l, r = 0, int(1e9)while l  조건에 맞는 최댓값을 찾는 문제이기 때문에 매개 변수 탐색(Parametric Search)를 사용하여 풀었다. 위 코드는 다음과 같은 과정으로 진행된다:1. 당연히 마감기한이 짧은 애들부터 먼저 해야 하니까 마감기한을 오름차순 정렬한다.2. K값을 찾기 위해 매개 변수 탐색을 수행한다. `l     - mid는 l과 r의 중간값으로 설정한다. mid는 일을 하는 시간 k에 해당하는 값이라고 생각하면 된다.    - 오름차순으로 정렬된 마감기한들에 대해 ..
https://www.acmicpc.net/problem/11067코드import sysinput = sys.stdin.readlinefor _ in range(int(input())): n = int(input()) cafes = {} for _ in range(n): x, y = map(int, input().split()) if x not in cafes: cafes[x] = [] cafes[x].append(y) prev_y = 0 counted_cafe = [] for x, y_list in sorted(cafes.items()): y_list.sort() if y_list[0] !..
https://www.acmicpc.net/problem/11931코드합병 정렬(Merge Sort)import sysinput = sys.stdin.readlinen = int(input())arr = [int(input()) for _ in range(n)]def merge_sort(arr): n = len(arr) if n == 1: return arr left = merge_sort(arr[:n//2]) right = merge_sort(arr[n//2:]) l_idx, r_idx = 0, 0 result = [] while l_idx right[r_idx]: result.append(left[l_idx]) ..
딜레이레이
'sort' 태그의 글 목록