Leetcode Java Distance Between Bus Stops
업데이트:
문제
코드
class Solution {
public int distanceBetweenBusStops(int[] distance, int start, int destination) {
int length = distance.length;
int forward = 0;
int reverse = 0;
for (int i = start; i != destination; i = (i + 1) % length) {
forward += distance[i];
}
for (int i = destination; i != start; i = (i + 1) % length) {
reverse += distance[i];
}
return Math.min(forward, reverse);
}
}
결과
설명
-
n개의 버스 정류장 사이의 거리가 각각 distance라고 할 때, start에서 destination까지 이동하기 위한 최단 거리를 반환하는 문제이다.
- 문제 풀이에 필요한 변수를 정의한다.
- legnth는 distnace의 길이를 저장한 변수이다.
- forward는 start에서 destination까지 이동하면서 거리를 계산할 변수로, distance의 start부터 destination까지 거리의 합계를 넣어준다.
- reverse는 destination에서 start까지 이동하면서 거리를 계산할 변수로, distacne의 destiantion에서 start까지 거리의 합게를 넣어준다.
- forward와 reverse 중 가장 빠른 경로를 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기