📕 문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
⭐ 제한사항
- phone_number는 길이 4 이상, 20이하인 문자열입니다.
💻 입출력 예
phone_number | return |
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
😊 나의 답변
1️⃣ *
로 채워진 배열을 생성하여 뒷 4자리 문자열과 더해주기
배열을 생성하는 과정이 생략되어도 될 것 같다.
function solution(phone_number) {
const num = phone_number.length - 4;
return new Array(num).fill("*").join('') + phone_number.slice(num);
}
2️⃣ fill()
활용
1번의 풀이를 조금 더 간결하게 풀어보았다. fill이 배열을 새로 채워주니까, 0부터 뒷 4자리 이전까지를 *
로 채우고, join("")
으로 문자열로 변환하여 반환
function solution(phone_number) {
return [...phone_number].fill("*", 0, phone_number.length - 4).join("");
}
3️⃣ repeat()
활용 ✨
*
을 반복해서 찍어주면 되는 거니까, repeat()을 쓰는 게 훨씬 간결하고 좋은 것 같다.
function solution(phone_number) {
return "*".repeat(phone_number.length - 4) + phone_number.slice(-4);
}
728x90
반응형
'프로그래머스 > Lv. 1' 카테고리의 다른 글
[프로그래머스] Lv.1 제일 작은 수 제거하기 / JS (0) | 2023.08.30 |
---|---|
[프로그래머스] Lv.1 없는 숫자 더하기 / JS (0) | 2023.08.30 |
[프로그래머스] Lv.1 음양 더하기 / JS (0) | 2023.08.30 |
[프로그래머스] Lv.1 나누어 떨어지는 숫자 배열 / JS (0) | 2023.08.30 |
[프로그래머스] Lv.1 서울에서 김서방 찾기 / JS (0) | 2023.08.29 |