728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12948
JS
문제
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
phone_number는 길이 4 이상, 20이하인 문자열입니다.
계획
str.slice(-4);으로 뒤에 4글자 자르기
for 문으로 문자 *로 바꾸기
반환
참고, 풀이
문자열이라 앞 자리를 *로 바꾸기 전에 배열로 바꿔야함.
그러면 slice로 뒤에 4자리 확보하는 이유 없음.
앞자리 *로 바꾸기
join으로 열을 문자열로 만들기
답
function solution(phone_number) {
let phoneArray = phone_number.split('');
for (let i = 0; i < phoneArray.length - 4; i++) {
phoneArray[i] = '*';
}
return phoneArray.join('');
}
코드 간략화하기
function solution(phone_number) {
return '*'.repeat(phone_number.length - 4) + phone_number.slice(-4);
}
string.repeat() : 메서드에 주어진 수만큼 반복해서 붙인 새로운 문자열을 반환.
출처
MDN : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat
'내일배움 과제 > 기타 과제' 카테고리의 다른 글
알고리즘 29번 - 제일 작은 수 제거하기 (2) | 2024.12.06 |
---|---|
알고리즘 28 - 없는 숫자 더하기 (0) | 2024.12.05 |
알고리즘 26번 - 음양 더하기 (0) | 2024.12.03 |
알고리즘 25 - 나누어 떨어지는 숫자 배열 (1) | 2024.12.02 |
알고리즘 24 서울에서 김서방 찾기 (0) | 2024.11.28 |