Algorithm/Greedy27 [파이썬] 백준 9576 : 책 나눠주기 (골드2) [파이썬] 백준 9576 : 책 나눠주기 (골드2)https://www.acmicpc.net/problem/9576풀이방향성 생각구간의 맨 앞 요구부터 책을 나눠준다.피벗 세팅은 앞이든 뒤든 상관 없다.피벗이 앞이면 앞부터, 뒤면 뒤부터 세팅a전체코드import sysinput = lambda : sys.stdin.readline().rstrip()T = int(input())for _ in range(T): N,M = map(int,input().split()) # 입력 받아서, 끝 구간을 기준으로 정렬한다. 피벗을 앞으로 정한거니까 구간이 빨리 끝나는 사람부터 처리하기 demands = [list(map(int,input().split())) for _ in range(M)] d.. 2024. 5. 28. [파이썬] 백준 3109 : 빵집 (골드2) [파이썬] 백준 3109: 빵집 (골드2) https://www.acmicpc.net/problem/3109 풀이 방향성 생각 왼쪽 위에서 탐색을 시작한다고 하면, 파이프를 최대한 오른쪽 아래에서 멀어지게 설치해야함. 파이프를 겹쳐서 놓을 수 없기 때문에, 다른 파이프를 막을 수 있기 때문 위쪽에서 탐색을 시작해서 최대한 파이프를 위에다 갖다놓자. 탐색 도중에 끝까지 도달하지 못하면, 다른 경로를 통해서 그 지점에 도달했을 경우에도 도달하지 못한다. 탐색하면서 arr를 바꿔준다. 백트래킹처럼 원상태로 돌릴 필요는 없다. 전체코드 import sys input = lambda : sys.stdin.readline().rstrip() H,W = map(int,input().split()) arr = [lis.. 2024. 4. 14. [파이썬] 백준 18234 : 당근훔쳐먹기 (골드3) [파이썬] 백준 18234 : 당근훔쳐먹기 (골드3) https://www.acmicpc.net/problem/18124 풀이 방향성 생각 영양제가 항상 시작보다 크기때문에 최대한 오래 기다리는게 이득이다. 앞에서 부터 그리디하게 가져가면 당근이 온전하게 성장 불가능하다. 정렬 이후 뒤에서부터 접근한다. 맨 뒤에서 k일차에는 wi에 영양제가 (k-1)번 들어간 당근을 먹는다. 전체코드 import sys input = lambda : sys.stdin.readline().rstrip() N,T = map(int,input().split()) infos = [list(map(int,input().split())) for _ in range(N)] infos.sort(key=lambda x:(x[1],x[0.. 2024. 4. 2. [파이썬] 프로그래머스 : 인사고과 (레벨3) [파이썬] 프로그래머스 인사고과 (레벨3) https://school.programmers.co.kr/learn/courses/30/lessons/152995 풀이 방향성 생각 입력이 10만이라 각 사람에서 자신보다 둘 다 높은 점수를 가지는 경우는 체크 불가능 정렬 / 힙 / 해시 등을 생각해볼 수 있다. 정렬 이후 근태, 동료평가 중 하나를 피벗으로 삼고 조사하면 효율적으로 조사 가능 A점수가 크고 B점수가 작은 애들부터 조사 시작하기. A는 항상 작아지는 경우라서 B점수가 더 작아지는 경우가 생기면 인센x 전체코드 from collections import defaultdict as dd def solution(scores): A,B = scores[0] S = A+B Bmax = 0 scores... 2024. 4. 2. 이전 1 2 3 4 5 6 7 다음