n
이 0인 경우 0 하나만 유니크n
이 1 이상일 경우n
의 자리가 아닌 0 <= n <= 8 자리에서의 고유하지 않은 숫자 범위이므로 n번째 자리에서의 합계를 모두 더한 값 반환function countNumbersWithUniqueDigits(n: number): number {
if(n === 0) return 1
let count = 1 // 0
let available = 9 // 1 ~ 9
let unique = 9 // 1 ~ 9
for(let i = 1; i <= n; i++) {
count += available
available *= unique
unique--
}
return count
};