
😎풀이
- 특정 정수를 2진수로 변환한뒤 반대로 뒤집어 반환하는 헬퍼 함수
getBinaryReflection 정의
nums를 정렬, getBinaryReflection된 결괏값 기준 오름차 순이며 동일할 경우 원래 정수의 숫자를 기준으로 오름차 순 정렬
function sortByReflection(nums: number[]): number[] {
return nums.toSorted((a, b) => {
const refA = getBinaryReflection(a)
const refB = getBinaryReflection(b)
if(refA !== refB) return refA - refB
return a - b
})
};
function getBinaryReflection(num: number) {
const binary = num.toString(2)
const reflected = [...binary].toReversed().join('')
return parseInt(reflected, 2)
}