본문 바로가기
개발이야기/JavaScript

프로그래머스 - Javascript 핸드폰 번호 가리기 문제 풀기

by hyung12 2022. 8. 18.
반응형

문제

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

 

제한 조건

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

 

입출력 예

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

 

풀이

function solution(n) {
    const a = n.length - 4
    const b = n.slice(-4)
    
    return '*'.repeat(a) + b;
}

 

repeat()와 slice()를 이용해서 풀었는데 정규식을 이용해 문제를 푼 사람도 있었다(대단👍)

 

 


 

살펴보기

String.prototype.repeat()

문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환한다

 

구문

str.repeat(count);

// count
// 문자열을 반복할 횟수. 0과 양의 무한대 사이의 정수([0, +∞))

 

 

String.prototype.slice()

문자열의 일부를 추출하면서 새로운 문자열을 반환한다

 

문법

str.slice(beginIndex[, endIndex])

// beginIndex
// 추출 시작점인 0부터 시작하는 인덱스이다
// 만약 음수라면, beginIndex는 strLength(문자열 길이) + beginIndex로 취급된다

// endIndexOptional
// 0부터 시작하는 추출 종료점 인덱스로 그 직전까지 추출된다
// 인덱스 위치의 문자는 추출에 포함되지 않는다
// 만약 endIndex가 생략된다면, silce()는 문자열 마지막까지 추출한다
// 만약 음수라면, endIndex는 strLength(문자열 길이) + endIndex 로 취급된다

 

반응형

'개발이야기 > JavaScript' 카테고리의 다른 글

[Javascript] Array Method map()과 foreach() 차이  (0) 2022.06.29
11. UI와 API 그리고 문서보는 법  (0) 2019.05.14
10. 모듈  (0) 2019.05.14
9. 객체  (0) 2019.04.18
8. 배열  (0) 2019.04.16