Leetcode Java Minimum Number of Moves to Seat Everyone

업데이트:

문제

Link

코드

class Solution {

  public int minMovesToSeat(int[] seats, int[] students) {
    Arrays.sort(seats);
    Arrays.sort(students);
    int result = 0;
    for (int i = 0; i < seats.length; i++) {
      result += Math.abs(seats[i] - students[i]);
    }
    return result;
  }

}

결과

Link

설명

  1. students의 각 학생들이 비어있는 자리인 seats의 자리로 각자 이동할 때, 최소 이동 횟수를 구하는 문제이다.

  2. seats와 students를 오름차순으로 정렬하여 좌석과 학생을 인접한 순서로 만들어준다.

  3. result는 최소 이동 횟수를 계산할 변수로, seats와 students의 동일하게 위치한 값들의 차이에 대한 절댓값의 합을 더해서 넣어준 후 주어진 문제의 결과로 반환한다.

소스

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

댓글남기기