
😎풀이
num을 문자열 형변환
- 최댓값을 찾는 경우,
9가 아닌 가장 먼저 등장하는 수를 모두 9로 변환하면 최대 수가 됨
- 최솟값을 찾는 경우, 가장 먼저 등장하는 수를 모두
0으로 변환하면 최소 수가 됨
- 최댓값 - 최솟값 연산을 통해 두 값의 차 반환
function minMaxDifference(num: number): number {
let min = Infinity
let max = -Infinity
const strNum = String(num)
for(const char of strNum) {
if(char === '9') continue
const replaced = strNum.replaceAll(char, '9')
max = Number(replaced)
break
}
const replaced = strNum.replaceAll(strNum[0], '0')
min = Number(replaced)
if(max === -Infinity && min === Infinity) return num
if(max === -Infinity) return num - min
if(min === Infinity) return max
return max - min
};