[LeetCode] 2078. Two Furthest Houses With Different Colors

Chobby·2025년 10월 21일

LeetCode

목록 보기
663/800

😎풀이

  1. 좌측, 우측 끝 인덱스 생성
  2. 우측 인덱스를 감소 시키며, 좌측 인데스와의 색상 비교
    2-1. 다른 색상이라면, 두 인덱스 거리 계산
  3. 좌측 인덱스를 증가 시키며, 우측 인덱스와의 색상 비교
    3-1. 다른 색상이라면, 두 인덱스 거리 계산
  4. 두 최대 거리를 비교하여 더 긴 거리를 반환
function maxDistance(colors: number[]): number {
    const n = colors.length
    let left = 0
    let right = n - 1
    let maxDist = 0
    while(left < right) {
        if(colors[left] === colors[right]) {
            right--
            continue
        }
        maxDist = right - left
        break
    }
    left = 0
    right = n - 1
    while(left < right) {
        if(colors[left] === colors[right]) {
            left++
            continue
        }
        return Math.max(maxDist, right - left)
    }
    return 0
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글