Leetcode Java Distance Between Bus Stops

업데이트:

문제

Link

코드

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);
  }

}

결과

Link

설명

  1. n개의 버스 정류장 사이의 거리가 각각 distance라고 할 때, start에서 destination까지 이동하기 위한 최단 거리를 반환하는 문제이다.

  2. 문제 풀이에 필요한 변수를 정의한다.
    • legnth는 distnace의 길이를 저장한 변수이다.
    • forward는 start에서 destination까지 이동하면서 거리를 계산할 변수로, distance의 start부터 destination까지 거리의 합계를 넣어준다.
    • reverse는 destination에서 start까지 이동하면서 거리를 계산할 변수로, distacne의 destiantion에서 start까지 거리의 합게를 넣어준다.
  3. forward와 reverse 중 가장 빠른 경로를 주어진 문제의 결과로 반환한다.

소스

Sample Code는 여기에서 확인 가능합니다.

댓글남기기