반응형
문제
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 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 |