내장된 정렬 알고리즘을 사용하지 않고 색상을 빨간색 > 하얀색 > 파란색
순으로 정렬하는 문제이다.
복잡한 생각할 필요 없이 요소의 수를 확인한 후 해당 요소의 수 만큼 새로 할당하는 방식을 진행하였음
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
};