(JS) 알고리즘 - 핸드폰 번호 가리기
2023. 6. 20. 01:41✔ 문제 요약
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를
전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
✔ 문제 풀이
function solution(phone_number) {
let hidden = "*".repeat(phone_number.length-4);
let show = phone_number.substr(lengthMinusFour);
return hidden + show;
}
1) 번호 길이에서 4자리를 제외한 수 만큼 '*'를 출력한다.
문자열.repeat(반복할 수)
2) 문자열을 자르는 메서드를 사용해서 번호 길이에서 마지막 4자리를 출력한다.
이때 사용할 수 있는 메서드는 두가지가 있다 :
ⓐ .substring(start, end) : phone_number.substring(phone_number.length - 4);
ⓑ .slice(start, end) : phone_number.slice(-4);
둘 다 시작 인덱스부터 종료 인덱스 직전까지의 문자열을 반환한다.
차이점은 slice는 음수를 인식해서 -4를 입력하면 맨 뒤에서부터 4자리를 잘라서 반환할 수 있는데,
.substring(-4)을 하면 음수를 인식하지 못해서 그대로 반환한다는 것이다.
그래서 이 문제에서 굳이 substring을 사용하고 싶다면, 글자길이에서 4를 뺀 만큼 반환하라고 요구해야 한다.
3) 1번과 2번을 합친다.
'JavaScript > 알고리즘' 카테고리의 다른 글
(JS) 알고리즘 - x만큼 간격이 있는 n개의 숫자 (0) | 2023.06.20 |
---|---|
(JS) 알고리즘 - 행렬의 덧셈 (0) | 2023.06.20 |
(JS) 알고리즘 - 문자열을 정수로 바꾸기 / 평균 구하기 (0) | 2023.06.20 |
(JS) 알고리즘 - 없는 숫자 더하기 (0) | 2023.06.20 |
(JS) 알고리즘 - 짝수와 홀수 / 두 정수 사이의 합 (0) | 2023.06.19 |