프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
문제자체는 어렵지 않다. 하지만 나는 거의 2-30동안 접근만 고민한거 같다.
별을 반복적으로 찍어내야 하니 *을 반복할수 있는 함수 repeat을 생각했다.
그리고 찍어내야하는 별의 개수를 알아야하니 length를 이용한다.
그리고 뒤에 4자리는 숫자로 찍어야하니 뒤4자리를 반환하는 방법이 뭐가있을까 하다가
해당인덱스 값을 반환해줄수 있는 substring을 생각해냈다.
function solution(phone_number) {
let p = phone_number;
let a = "*".repeat(p.length-4)
let b = p.substring(p.length-4, p.length)
return a + b
}
우선 phone_number의 length에서 -4를 하여 그만큼 *을 반복시켰다.
그리고 phone_number에서 substring으로 뒤 4자리를 추출하여 두개를 더해주었다.