프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 길이 4 이상, 20이하인 문자열입니다.
phone_number return
"01033334444" "***4444"
"027778888" "*8888"
function solution(phone_number) {
var answer = ''
//front_number에는 phone_number을 0번째 값부터 총 길이의 -4번째 값까지 잘라서 넣음
var front_number = phone_number.slice(0, phone_number.length-4)
//back_number에는 phone_number을 뒤에서부터 4자리 잘라서 넣음
var back_number = phone_number.slice(-4)
//front_number의 길이만큼 '*'을 반복 + 뒷자리 를 answer에 대입
answer = '*'.repeat(front_number.length)+back_number
return answer;
}
slice()
slice() 함수는 파라미터로 문자열을 잘라낼 시작 index값(beginIndex)과 마지막 index값(endIndex)을 받아서,해당 index 값 사이의 문자열을 추출하는 함수이다.
endIndex 위치의 문자는 리턴값에 포함되지 않는다.
index는 0부터 시작한다.
str.slice(-n, str.length)
index값으로 음수가 입력되면, str.length + index로 계산한다.
즉, str.slice(str.length-n, str.length)로 계산되고, 문자열의 끝에서 n글자를 return한다.
str.slice(-n)
만약, endIndex 파라미터가 생략되면 slice() 함수는 문자열의 마지막 글자까지 문자열을 잘라서 리턴합니다.
따라서 str.slice(-n)은 str.slice(-n, str.length)와 동일하다.