프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
| phone_number | return |
|---|---|
| "01033334444" | "***4444" |
| "027778888" | "*8888" |
1차
function solution(phone_number) {
let number = "";
let result = phone_number.length - 4;
for (let i = 0; i < phone_number.length; i++) {
if (i < result) {
number += "*";
} else number += phone_number[i];
} return number;
}
2차: 코드 개선 - if문을 삼항 연산자로 변경
function solution(phone_number) {
let number = "";
let result = phone_number.length - 4;
for (let i = 0; i < phone_number.length; i++) {
number = i < result ? number += "*" : number += phone_number[i];
}
return number;
}
function solution(phone_number) {
let result = []
for(let i = 0; i < phone_number.length; i++){
if(i < phone_number.length-4){
result.push('*')
} else {
result.push(phone_number[i])
}
}
return result.join('')
}
이 풀이는 내 방식과 거의 비슷하지만, 빈 배열을 생성하여 요소를 push하고 .join() 메서드를 사용해 배열의 모든 요소를 하나의 문자열로 연결할 수 있다는 점을 새롭게 알게 되었다.