728x90
🔥 Programmers Lv.1 : 핸드폰 번호 가리기
🔍 문제 : " 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. "
📎 조건 :
∙ phone_number는 길이 4 이상, 20이하인 문자열입니다.
∙ phone_number는 길이 4 이상, 20이하인 문자열입니다.
👉🏻 My answer
function solution(phone_number) {
let answer = "";
for(let i=0; i<phone_number.length; i++){
if(i<phone_number.length-4){
answer = answer + "*";
} else {
answer = answer + phone_number[i];
}
}
return answer;
}
: for문과 if문을 이용하여 마치 자바스크립트의 초보처럼 코드를 작성해주었습니다.
👉🏻 Another ways
function solution(phone_number) {
var answer = phone_number.split("");
return new Array(answer.length)
.fill("*")
.splice(0, answer.length - 4)
.concat(answer.splice(answer.length - 4))
.join("");
}
: fill메서드를 통해 배열 안 요소 전부 다 *로 바꿔준 후 뒤에서부터 4자리를 splice메서드를 통해 제거한 후 answer의 뒷4자리를 다시 concat으로 합쳐주었습니다.
function hide_numbers(s) {
return s.replace(/\d(?=\d{4})/g, "*");
}
: /\d(?=\d{4})/g => /정규식/, g: 전체, \d: 숫자[0-9]랑 같음, {n}: 앞의 식이 n번 반복, x(?=y) : y뒤에 있는 x만 대응, \d(?=\d{4}) : 뒤에 달아 숫자 4개가 있다면 그 앞(x)부분
: 정규식으로 쓰니 한 줄이면 충분하군요? 멋있다.
: 정규식으로 쓰니 한 줄이면 충분하군요? 멋있다.
'알고리즘 도장깨기' 카테고리의 다른 글
프로그래머스 Lv.1 "가운데 글자 가져오기" (2) | 2022.11.15 |
---|---|
프로그래머스 Lv.1 "x만큼 간격이 있는 n개의 숫자" (2) | 2022.11.14 |
프로그래머스 Lv.1 "문자열 내 p와 y의 개수" (1) | 2022.11.14 |
프로그래머스 Lv.1 "같은 숫자는 싫어" (2) | 2022.11.11 |
프로그래머스 Lv.1 "제일 작은 수 제거하기" (1) | 2022.11.10 |
댓글