[코테 풀이] Minimum Time Visiting All Points

시내·2024년 6월 17일
0

Q_1266) Minimum Time Visiting All Points

출처 : https://leetcode.com/problems/minimum-time-visiting-all-points/

On a 2D plane, there are n points with integer coordinates points[i] = [xi, yi]. Return the minimum time in seconds to visit all the points in the order given by points.

You can move according to these rules:

  • In 1 second, you can either:
    move vertically by one unit,
    move horizontally by one unit, or
    move diagonally sqrt(2) units (in other words, move one unit vertically then one unit horizontally in 1 second).

  • You have to visit the points in the same order as they appear in the array.

  • You are allowed to pass through points that appear later in the order, but these do not count as visits.

class Solution {
    public int minTimeToVisitAllPoints(int[][] points) {
        ArrayList<Integer> arrayList = new ArrayList<>();
        int sum = 0;
        for (int i = 0; i < points.length - 1; i++) {
            int x = points[i + 1][0] - points[i][0];
            int y = points[i + 1][1] - points[i][1];
            arrayList.add(Math.max(Math.abs(x), Math.abs(y)));
        }
        for (int a : arrayList) sum += Math.abs(a);
        return sum;
    }
}
profile
contact 📨 ksw08215@gmail.com

0개의 댓글