
😎풀이
- 숫자만 분리
- 전화번호 변환
2-1. 잔여 번호가 4자리 이상 남았다면, 모두 3자리씩 그룹화
2-2. 잔여 번호가 4자리 남았다면, 2자리로 분리해 그룹화
2-3. 잔여 번호가 4자리 미만 남았다면, 한번에 모두 그룹화(2자리 혹은 3자리 인 경우)
- 그룹화 된 번호를
-
로 연결하여 문자열 형태로 반환환
function reformatNumber(number: string): string {
const onlyDigit = number.match(/[0-9]/gi).join('')
let remain = onlyDigit
const formatted = []
while(remain.length) {
const n = remain.length
if(n > 4) {
formatted.push(remain.slice(0, 3))
remain = remain.slice(3)
} else if(n === 4) {
formatted.push(remain.slice(0, 2), remain.slice(2))
break
} else {
formatted.push(remain)
break
}
}
return formatted.join('-')
};