728x90

문제


https://programmers.co.kr/learn/courses/30/lessons/12948?language=javascript 

 

코딩테스트 연습 - 핸드폰 번호 가리기

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자

programmers.co.kr

 

코드


  • 해결한 풀이
function solution(phone_number) {
    let len = phone_number.length - 4;
    return "*".repeat(len) + phone_number.substring(len);
}

 

  • 처음에 시도했지만 통과하지 못한 풀이
    function solution(phone_number) {
        let front = phone_number.substring(0,phone_number.length-4);
        front.replace(/0-9/g, '*');
        let back = phone_number.substring(phone_number.length-4);
        return front + back;
    }​

 

후기


  • 아직 이유를 찾지 못했는데, 내가 처음에 시도한 코드가 substring으로 문자의 처음부터 끝에서 5번째 문자까지 잘라서 replace와 정규식을 사용해 모든 숫자에 한해 *로 바꿔주는 코드를 작성했는데 자꾸 replace가 적용이 안됐다.
  • 어쩔 수 없이 다른 방법을 찾아보다가 repeat함수를 알게 되었고, 이를 적용하여 풀이를 하였다. 결과적으로 내가 처음에 적용한 코드보다 더 간단하긴 하다
  • repeat() 사용법 : '반복할 문자'.repeat(반복 횟수)

+ Recent posts