😎풀이

  1. arrays의 첫 인덱스 배열 중 가장 작은 요소와 가장 큰 요소를 기준으로 초기화
  2. arrays 1번 인덱스부터 순회
    2-1. 이전 최대 요소 - 현재 최소 요소, 현재 최대 요소 - 이전 최소 요소 중 더 큰 차잇값으로 최대 거리 갱신
    2-2. 이전 최소, 최대 요소를 현재 요소와 비교하여 갱신
  3. 탐색 가능한 최대 차잇값 반환
function maxDistance(arrays: number[][]): number {
    let min = arrays[0][0]
    let max = arrays[0].at(-1)
    let maxDist = 0
    for(let i = 1; i < arrays.length; i++) {
        const first = arrays[i][0]
        const last = arrays[i].at(-1)
        maxDist = Math.max(maxDist, max - first, last - min)
        max = Math.max(max, last)
        min = Math.min(min, first)
    }
    return maxDist
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글