[LeetCode] 2037. Minimum Number of Moves to Seat Everyone

Chobby·2025년 10월 20일

LeetCode

목록 보기
655/800

😎풀이

  1. seats 오름차 순 정렬
  2. students 오름차 순 정렬
  3. 정렬된 의자 위치와 학생 위치 탐색
    3-1. 서로의 최솟값의 차가, 가장 가까운 곳에 앉음을 의미
    3-2. 해당 인덱스의 이동 비용 누적
  4. 누적된 이동 비용 반환
function minMovesToSeat(seats: number[], students: number[]): number {
    const sortedSeats = seats.toSorted((a, b) => a - b)
    const sortedStudents = students.toSorted((a, b) => a - b)
    let moves = 0
    for(let i = 0; i < seats.length; i++) {
        const curMove = Math.abs(sortedSeats[i] - sortedStudents[i])
        moves += curMove
    }
    return moves
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글