let output = solution("01033334444");
console.log(output); // "*******4444"
output = solution("027778888");
console.log(output); // "*****8888"
(1) 풀이 1
function solution(phone_number) {
return phone_number.split('').map((str, idx) => {
if (idx < phone_number.length - 4) return '*';
return str;
}).join('');
};
(2) 풀이 2
function solution(phone_number) {
// case 1
let star = '*'.repeat(phone_number.length - 4);
return star + phone_number.slice(-4);
// case 2
let lastFour = phone_number.slice(-4);
return lastFour.padStart(phone_number.length, '*');
};
function solution(phone_number) {
// 분석
// 문자열을 배열화 시켜서 변환한 뒤 문자열로 반환하는 방법이 있고
// 아니면 문자열만으로 해결하는 방법이 있다.
// 풀이 1
// 배열화 시킨 후, 마지막 네 자리를 제외하고는 '*' 바꿔준다.
// 조인으로 다시 문자열화 시킨 후 반환한다.
return phone_number.split('').map((str, idx) => {
if (idx < phone_number.length - 4) return '*';
return str;
}).join('');
// 풀이 2-1
// 문자열의 길이 및 repeat이나 padStart를 활용한다.
// 1. repeat case
let star = '*'.repeat(phone_number.length - 4);
return star + phone_number.slice(-4);
// 풀이 2-2
// 2. padStart case
let lastFour = phone_number.slice(-4);
return lastFour.padStart(phone_number.length, '*');
};