알고리즘 문제 풀기 (JS입문) - 직사각형 별 찍기

2022. 12. 26. 10:13알고리즘 공부

728x90
SMALL

문제

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

 

 

제한 조건

  • phone_number는 길이 4 이상, 20이하인 문자열입니다.

 

예제

phone_number return
"01033334444" "*******4444"
"027778888" "*****8888"

 

function solution(phone_number) {
    var answer = '';
    return answer;
}

 

 

내가 푼 답

function solution(phone_number) {
    var answer = '';

    for(i = 0; i < phone_number.length; i++){
        if (i < phone_number.length - 4){
           answer = answer + '*'
        }else {
            answer = answer + phone_number[i]
        }

    }


    return answer;
}

번호 자리수가 어떻게 되든 뒷자리 4자리만 제외하고 별 표시가 되어야 하기 때문에

번호길이 -4만큼 별찍는걸로 반복하고 그 이후는 폰 넘버가 찍히도록 했다.

 

 

 

다른사람이 푼 답

function hide_numbers(s) {
  return s.replace(/\d(?=\d{4})/g, "*");
}

console.log("결과 : " + hide_numbers('01033334444'));

위 코드는 정규표현식 을 이용하여 작성된 코드이다.

 

아직 정규표현식을 잘 몰라서 구글링을 좀 했는데,

\d는 번호를 의미 한다고 한다.

 

 

 

아래 사이트 참고!

 

 

자주 사용하는 정규식 패턴

들어가며 정규식은 문자열 검색과 치환 용도로 쓰이며, 회원가입이나 이력서 같은 양식 입력 등에 많이 쓰인다. 매번 정규식을 사용해서 개발하는 것이 아니다 보니, 개발자들 사이에서도 정규

uznam8x.tistory.com

 

 

[JS] 📚 정규표현식(RegExp) - 이해하기 쉽게 정리 + 응용 예제

정규표현식(Regular Expression) 정규식(Regular Expression)은 문자열에서 특정 내용을 찾거나 대체 또는 발췌하는데 사용된다. 대표적으로 입력칸에 전화번호나 이메일을 입력하라고 했을때 옳지 않은

inpa.tistory.com

 

728x90
LIST