핸드폰 번호 가리기


푸는 방법이 다양하다.

function solution(phone_number) {
    // 전방 탐색 기호는 ?= 이며, = 다음에 오는 문자가 일치하는 영역에서 제외
    // 또한, 전방 탐색은 하위 표현식과 같이 소괄호로 감싸주어야만 합니다
    return phone_number.replace(/\d(?=\d{4})/g, "*")

    // repeat
    return "*".repeat(phone_number.length-4) + phone_number.slice(-4)
    
    // String.prototype.padStart()
    return phone_number.slice(-4).padStart(phone_number.length, "*")
}

String.prototype.padStart() 처음 보는 방법이었다. padStart 안에 필요한 개수만큼 ”*“을 넣어주고 시작한다는 뜻이다. 이후에 맨 앞에서 지정한 문자열을 채워서 새로운 문자열을 반환한다.


음양 더하기


function solution(absolutes, signs) {
    return absolutes.reduce((acc,cur,idx) => (signs[idx] ? acc + cur: acc-cur),0)
}

reduce 메서드로 깔끔하게 작성했다.