
😎풀이
s를 숫자형으로 변환
s 순회
2-1. 인접한 두 숫자가 모두 홀수 혹은 짝수인지 판별
2-2. 인접한 두 숫자의 자릿수 교환으로, 더 작은 수를 만들 수 있는지 판별
2-3. 두 숫자 교환 및 반환
- 기존 문자열 반환
function getSmallestString(s: string): string {
const splitted = [...s].map(Number)
for(let i = 1; i < s.length; i++) {
const prev = splitted[i - 1]
const cur = splitted[i]
const prevIsOdd = (prev & 1) === 1
const curIsOdd = (cur & 1) === 1
if(prevIsOdd !== curIsOdd) continue
if(prev > cur) {
[splitted[i], splitted[i - 1]] = [splitted[i - 1], splitted[i]]
return splitted.join('')
}
}
return s
};