Search
Duplicate

금과 은 운반하기

문제 설명 및 제한사항

아이디어 및 해결 방법

코드

def solution(a, b, g, s, w, t): l, r = 0, int(2 * 1e9 * 2 * 1e5) while l < r: mid = (l + r) // 2 tmptotal, tmpg, tmps = 0, 0, 0 for gi, si, wi, ti in zip(g, s, w, t): n_delivery = (mid + ti) // (2 * ti) tmptotal += min(wi * n_delivery, gi+si) tmpg += min(wi * n_delivery, gi) tmps += min(wi * n_delivery, si) if tmptotal >= a+b and tmpg >= a and tmps >= b: r = mid else: l = mid+1 return l
Python
복사

출처

프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges