프로그래머스 핸드폰 번호 가리기 자바스크립트

2022. 1. 15. 14:11코딩공부/JavaScript 알고리즘

핸드폰 번호 가리기

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

 

제한 조건
  • s는 길이 4 이상, 20이하인 문자열입니다.

 

입출력 예
phone_number return
"01033334444" "*******4444"
"027778888" "*****8888"

 

나의 풀이

function solution(phone_number) {
    return '*'.repeat(phone_number.length-4) + phone_number.slice(-4);
}

 

다른 풀이

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

// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log("결과 : " + hide_numbers('01033334444'));

 

문법 정리

1. slice() 함수 : 문자열 자르기 함수중 하나

 

- substr("시작위치", "길이") 또는 substr("시작 위치")

시작 위치부터 해당 길이만큼 문자열을 잘라준다. 길이를 생략하면 시작위치부터 문자열 끝까지 자른다.

오래되고 곧 없어질 함수라 사용하지 않는 것을 권장한다고함

- substring("시작위치", "종료위치") 또는 substring("시작 위치")

시작 위치에서 종료위치까지 문자열을 자른다. 주의할 점은 종료 위치의 -1까지 문자열을 자른다.

- slice("시작위치","종료위치") 또는 slice("시작위치")

기본적인 사용법은 substring() 함수와 동일하며, 다른 점은 음수를 자유롭게 사용할 수 있어서 뒤에서부터 문자열을 자를때 유용하게 사용할 수 있다.

 

2. 자바스크립트 정규 표현식

 

정규표현식은 "특정 패턴의 문자열"을 찾기 위한 표현 방식입니다.

(이런걸 형식 언어, formal languange라고 합니다.)

정규표현식을 이용하면, 특정 패턴에 매칭되는 문자열을 쉽게(?) 찾아낼 수 있습니다.

 

 

[자바스크립트] 정규표현식(Regular Expression) 기초/기본 쉽고 상세한 사용 방법 정리(샘플 예제 코

# 정규표현식이란?(Regular Expression: Regex) 정규표현식은 "특정 패턴의 문자열"을 찾기 위한 표현 방식입니다. (이런걸 형식 언어, formal languange라고 합니다.) 정규표현식을 이용하면, 특정 패턴에 매

curryyou.tistory.com