가수면
[Javascript] 핸드폰 번호 가리기 본문
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
- phone_number는 길이 4 이상, 20이하인 문자열입니다.
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
연습할 겸 삼항 연산자로 접근을 해보려고 했었는데 결국 시간을 너무 잡아먹게 되어 답을 찾아보게 되었다.
function solution(phone_number) {
var answer = '';
if (phone_number.length === 11) {
answer = "*******" + phone_number.substring(7, 11)
} else if (phone_number.length === 9) {
answer = "*****" + phone_number.substring(5, 9)
} else {
answer = "******" + phone_number.substring(6, 10)
}
return answer;
}
정답 코드
function solution(phone_number) {
return "*".repeat(phone_number.length - 4) + phone_number.slice(-4);
}
.substring()
지정한 범위의 문자열을 잘라서 리턴
기본 형태 => .substring(시작 위치, 끝 위치)
const str = 'Mozilla';
console.log(str.substring(1, 3));
// expected output: "oz"
console.log(str.substring(2));
// expected output: "zilla"
.slice
지정한 범위의 문자열을 복사해 리턴 (substring과 사용법 동일)
차이점 => 음수 인덱스를 인식함. (음수 입력하면 뒤에서부터 찾음)
let str = 'Hello World Javascript';
let a = str.substring(0, -6);
let b = str.slice(0, -6);
console.log(a);
undefined
console.log(b);
Hello World Java
padStart()
'CS > 코딩 테스트' 카테고리의 다른 글
[Javascript] 부족한 금액 계산하기 (0) | 2022.11.21 |
---|---|
[Javascript] x만큼 간격이 있는 n개의 숫자 (0) | 2022.11.19 |
[Javascript] 평균 구하기 (0) | 2022.11.19 |
[Javascript] 음양 더하기 (0) | 2022.11.19 |
[Javascript] 없는 숫자 더하기 (0) | 2022.11.19 |
Comments