// [문제 링크]: https://school.programmers.co.kr/learn/courses/30/lessons/150369 class Solution { public long solution(int cap, int n, int[] deliveries, int[] pickups) { long answer = 0; int len = n, lm = len-1, lm2 = lm, tmp = 0; while(true){ int maxD = 0, maxP = 0, pickCap = 0, delCap = 0, pm = -2, dm = -2; boolean[] full = new boolean[2]; for(int x = lm; x>=0; x--){ int del = deliveries[x]; if(del==0) continue; if(maxD == 0) maxD = x; if(delCap != cap && del!=0){ if(delCap cap - delCap) { tmp = cap - delCap; //더클때 if(dm=0; x--){ int pic = pickups[x]; if(pic == 0) continue; if(maxP == 0) maxP = x; if(pickCap != cap && pic!=0){ if(pickCap cap - pickCap) { tmp = cap - pickCap; //더클때 if(pm