programmers_택배 배달과 수거하기_java
2023. 6. 1. 15:52ㆍAlgorithm/Programmers
728x90
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 give = 0; // 배달
int get = 0; // 수거
for (int i = n; i>0; i--){
if (deliveries[i-1] != 0 || pickups[i-1] != 0){
int cnt = 0; // 해당 장소 방문 필요 횟수
// 해당 장소에 방문 필요 횟수 구하기
while(give < deliveries[i-1] || get < pickups[i-1]){
cnt++;
give += cap;
get += cap;
}
// 방문 하고 남은 것
give -= deliveries[i-1];
get -= pickups[i-1];
answer += (long)(i*cnt*2); // 거리 * 반복횟수 * 왕복
}
}
return answer;
}
}
'Algorithm > Programmers' 카테고리의 다른 글
programmers_단체사진 찍기_java (0) | 2023.06.03 |
---|---|
programmers_유사 칸토어 비트열_java (0) | 2023.06.02 |
programmers_교점에 별 만들기_java (0) | 2023.06.01 |
programmers_카카오프렌즈 컬러링북_java (0) | 2023.05.31 |
programmers_양궁대회_java (0) | 2023.05.29 |