function solution(phone_number) {
return '*'.repeat(phone_number.length-4) + phone_number.slice(-4);
return s.replace(/\d(?=\d{4})/g, "*");
}
내가 푼 repeat과 slice
- 문자열 반복을 곱하기로 구현하려 했다. 코드가 방송 자막인 줄 알았다.
- 문자열.repeat(반복 횟수)로 문자열 반복 가능
- slice(-4)는 뒤에서 4번째 부터 마지막까지 추출
replace 정규식
- 천재분이 풀어준 replace로 뒤 4자리 빼고 *로 변경하는 식이다.
- \d는 정수를 나타내고 {4}는 4자리를 나타낸다.
- x(?=y)는 x뒤에 따라오는 y일 때만의 x를 나타낸다.
- \d(?=\d{4})는 정수 4개를 뒤에 둘 수 있는 모든 정수들을 *로 바꿔준다는 뜻
- 따라서 마지막 4자 빼고는 모두 *로 바뀜