문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 사항
입출력 예
phone_number | return |
---|---|
"01033334444" | "***4444" |
"027778888"] | "*8888" |
😋문제풀이(본인)
function solution(phone_number) {
return '*'.repeat(phone_number.length -4) + phone_number.slice(-4);
}
휴대폰 번호 길이에서 4를 뺀만큼 *를 만들어주고 슬라이스마지막 4자리를 추출해서 문자열을 이어붙힌 후 반환줬습니다
👍다른 사람의 풀이
const solution = n => [...n].fill("*",0,n.length-4).join("")
전달받은 phone_number를 n으로 받고, 스프레드 연산자를 이용해 해당 값을 넣은 배열로 만들 (['0', '1', '0', '1', '2', '3', '4', '5', '6', '7', '8']) 그 후 fill을 이용해 동일한 문자를 채우는데 0번째 인덱스부터 length - 4까지의 범위로 채운다. 채우는 값은 '*'로 하고, 해당 값은 배열인데 return해야 하는 값은 문자열이므로 join('')을 이용해 배열을 문자열로 만들어준다.