[LeetCode] 75. Sort Colors

Chobby·2024년 9월 11일
1

LeetCode

목록 보기
111/194

내장된 정렬 알고리즘을 사용하지 않고 색상을 빨간색 > 하얀색 > 파란색 순으로 정렬하는 문제이다.

복잡한 생각할 필요 없이 요소의 수를 확인한 후 해당 요소의 수 만큼 새로 할당하는 방식을 진행하였음

😎풀이

function sortColors(nums: number[]): void {
    const result = []
    let redCount = 0
    let whiteCount = 0
    let blueCount = 0
    // 배열 요소를 순회하며 해당하는 색상의 수 확인
    for(const num of nums) {
        switch(num) {
            case 0:
                redCount++
                break
            case 1:
                whiteCount++
                break
            default:
                blueCount++
                break
        }
    }

    // nums 배열을 정렬된 결과로 수정
    let index = 0
    for(let i = 0; i < redCount; i++) nums[index++] = 0
    for(let i = 0; i < whiteCount; i++) nums[index++] = 1
    for(let i = 0; i < blueCount; i++) nums[index++] = 2
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글