코딩테스트
핸드폰 번호 가리기
한우종
2025. 2. 25. 16:22
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때
전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한사항
phone_number는 길이 4 이상, 20이하인 문자열입니다.
나의풀이
JS(for문)
function solution(phone_number) {
let starNum = []
for(let i=0 ; i<=phone_number.length;i++){
if(i<phone_number.length-4){
starNum.push('*')
}else{
starNum.push(phone_number[i])
}
}return starNum.join('')
}
JS(map)
function solution(phone_number) {
let starNum = phone_number.toString().split('')
let number = starNum.map((num,index)=> index<starNum.length-4 ? "*":num).join('')
return number
}
정리
for문
starNum : ' * ' 이 포함된 번호를 저장할 배열
phone_number의 문자열에서 마지막 4자리를 제외한 숫자를 *로 starNum에 저장 마지막 4자리는 숫자로 저장
join : 배열을 문자열로 변환한다.
map 사용
starNum : 번호를 배열로 변환
number : starNum의 요소와 인덱스를 매개변수로 가져와 index의 값이 4자릿수 보다 작다면 *을 아니라면 숫자그대로 반환하도록한후 join을통해 문자열로 변환하여 리턴