[Programmers] 택배 배달과 수거하기
2023. 5. 2. 10:47ㆍComputer Sciences/Problem Solve
https://school.programmers.co.kr/learn/courses/30/lessons/150369
풀이 방법
혼자서는 도저히 구현 방법이 떠오르지 않아 질문하기를 들어가보니 굇수님께서 해설한 글이 있어서 이를 참고했다.
https://school.programmers.co.kr/questions/43364
class Solution {
public long solution(int cap, int n, int[] deliveries, int[] pickups) {
int deliver = 0, pickup = 0;
long answer = 0;
for (int i = n - 1; i >= 0; i--) {
if (deliveries[i] != 0 || pickups[i] != 0) {
int cnt = 0;
while (deliver < deliveries[i] || pickup < pickups[i]) {
cnt++;
deliver += cap;
pickup += cap;
}
deliver -= deliveries[i];
pickup -= pickups[i];
answer += (i + 1) * cnt * 2;
}
}
return answer;
}
}
'Computer Sciences > Problem Solve' 카테고리의 다른 글
[Baekjoon] 1991번: 트리 순회 (0) | 2023.05.12 |
---|---|
[Baekjoon] 1912번: 연속합 (2) | 2023.05.10 |
[Programmers] 미로 탈출 (0) | 2023.05.01 |
[Programmers] 광물 캐기 (0) | 2023.04.28 |
[Baekjoon] 2212번: 센서 (0) | 2023.04.26 |