greedy

https://www.acmicpc.net/problem/17503코드from heapq import heappop, heappushimport sysinput = sys.stdin.readlinen, m, k = map(int, input().split())beers = []for _ in range(k): v, c = map(int, input().split()) # 선호도, 도수 레벨 beers.append([v, c])beers.sort(key=lambda x: x[1]) # 도수 레벨 오름차순 정렬def solution(): picked = [] # 고른 맥주들 preference = 0 # 고른 맥주들의 선호도 합 for b in beers: ..
https://www.acmicpc.net/problem/2374 코드import sysinput = sys.stdin.readlinen = int(input())arr = []for i in range(n): a = int(input()) if not arr or arr[-1] != a: arr.append(a)def find_min(arr): # 현재 배열에서 가장 작은 값과 그 인덱스 리턴 min_v = int(1e9)+1 min_idx = -1 for i in range(len(arr)): if min_v > arr[i]: min_v = arr[i] min_idx = i return [min_idx,..
https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=4&contestProbId=AY9QUhl6cfQDFAVF&categoryId=AY9QUhl6cfQDFAVF&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 코드for tc in range(1, int(input())+1): n = int(input()) arr = [-1]+list(map(int, input().split()))+[-1] empty = n+1 # 현재 비어있는 자리 # 처음에 자..
https://www.acmicpc.net/problem/1455 코드import sysinput = sys.stdin.readlinen, m = map(int, input().split())board = [list(input()) for _ in range(n)]ans = 0for i in range(n-1, -1, -1): for j in range(m-1, -1, -1): if board[i][j] == '1': # 뒷면 # 뒤집기 for r in range(i+1): for c in range(j+1): board[r][c] = ('0' if board[r][c] == '1'..
https://www.acmicpc.net/problem/1911 코드from math import ceilimport sysinput = sys.stdin.readlinen, l = map(int, input().split())woongs = []for _ in range(n): s, e = map(int, input().split()) woongs.append((s, e))woongs.sort()ans = 0prev = -1_000_000for i in range(n): if prev  prev는 이전에 깔았던 널빤지 중 가장 끝의 널빤지의 끝 위치이다. 그렇기 때문에 prev가 현재 웅덩이의 시작위치보다 오른쪽이라면 prev에서부터 이어서 널빤지를 더 깔면 되고, 아니라면 현재 웅덩..
딜레이레이
'greedy' 태그의 글 목록