[LeetCode] 1217. Minimum Cost to Move Chips to The Same Position

Chobby·4일 전
1

LeetCode

목록 보기
479/481

😎풀이

  1. position을 순회한다.
    1-1. 홀수라면, 홀수 카운트를 증가시킨다.
    1-2. 짝수라면, 짝수 카운트를 증가시킨다.
  2. 두 카운트 중 더 낮은 수를 반환한다.

위와 같은 솔루션으로 같은 란(짝수, 홀수)으로의 이동은 비용이 발생하지 않기 때문에 더 작은수에 있는 란을 더 많은 수에 있는 란으로 모두 옮기는 가격을 생각하여 반환한다.

예) 1 to 3 = 비용 0원(같은 홀수 칸 이동), 2 to 3 = 비용 1원(짝수에서 홀수 이동)

function minCostToMoveChips(position: number[]): number {
    let oddCount = 0
    let evenCount = 0
    for(const pos of position) {
        if((pos & 1) === 0) evenCount++
        else oddCount++
    }
    return Math.min(evenCount, oddCount)
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글