😎풀이

  1. 숫자만 분리
  2. 전화번호 변환
    2-1. 잔여 번호가 4자리 이상 남았다면, 모두 3자리씩 그룹화
    2-2. 잔여 번호가 4자리 남았다면, 2자리로 분리해 그룹화
    2-3. 잔여 번호가 4자리 미만 남았다면, 한번에 모두 그룹화(2자리 혹은 3자리 인 경우)
  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('-')
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글