-
안녕하세요. 오늘은 자바스크립트 알고리즘 핸드폰 번호 가리기 를 풀어보았습니다.
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.제한 사항
- s는 길이 4 이상, 20이하인 문자열입니다.
입출력 예
문제 풀이
function solution(phone_number) { var answer = "*".repeat(phone_number.length - 4) + phone_number.slice(-4); return answer; } //아래는 테스트 코드입니다. console.log("테스트 1 : " + solution('01059595959')); console.log("테스트 2 : " + solution('0427771515'));
저의 풀이입니다.
repeat() 를 이용하여 매개변수 phone_number의 length 값에서 -4를 해준 값에
매개변수 phone_number의 slice(-4) 의 값을 더해주면서 풀었습니다.
예를들어 phone_number 의 값이 "01059595959" 라면,
phone_number의 length 값이 11이고, 그 값에서 -4를 해준 값 7만큼 *을 반복해서 "*******" 이 나오고
거기에 phone_number의 slice(-4) 값인, "01059595959"의 뒤에 네자리인 "5959"를 더해주면서
"*******5959" 이 나오게 만들어줍니다.
밑에는 다른 사람들의 풀이입니다. 이상으로 글을 마치겠습니다.
다른 사람들의 풀이
function hide_numbers(s) { return s.replace(/\d(?=\d{4})/g, "*"); } // 아래는 테스트로 출력해 보기 위한 코드입니다. console.log("결과 : " + hide_numbers('01033334444'));
'코딩 기록 > 자바스크립트 알고리즘' 카테고리의 다른 글
(자바스크립트 알고리즘) 문자열 내림차순으로 배치하기 - kimyang-sun (0) 2019.12.17 (자바스크립트 알고리즘) 정수 내림차순으로 배치하기 - kimyang-sun (0) 2019.12.16 (자바스크립트 알고리즘) 가운데 글자 가져오기 - kimyang-sun (0) 2019.12.14 (자바스크립트 알고리즘) 두 정수 사이의 합 - kimyang-sun (0) 2019.12.13 (자바스크립트 알고리즘) 약수의 합 - kimyang-sun (0) 2019.12.11 댓글