728x90
문제
https://programmers.co.kr/learn/courses/30/lessons/12948?language=javascript
코드
- 해결한 풀이
function solution(phone_number) {
let len = phone_number.length - 4;
return "*".repeat(len) + phone_number.substring(len);
}
- 처음에 시도했지만 통과하지 못한 풀이
function solution(phone_number) { let front = phone_number.substring(0,phone_number.length-4); front.replace(/0-9/g, '*'); let back = phone_number.substring(phone_number.length-4); return front + back; }
후기
- 아직 이유를 찾지 못했는데, 내가 처음에 시도한 코드가 substring으로 문자의 처음부터 끝에서 5번째 문자까지 잘라서 replace와 정규식을 사용해 모든 숫자에 한해 *로 바꿔주는 코드를 작성했는데 자꾸 replace가 적용이 안됐다.
- 어쩔 수 없이 다른 방법을 찾아보다가 repeat함수를 알게 되었고, 이를 적용하여 풀이를 하였다. 결과적으로 내가 처음에 적용한 코드보다 더 간단하긴 하다
- repeat() 사용법 : '반복할 문자'.repeat(반복 횟수)
'알고리즘 > Programmers' 카테고리의 다른 글
[Programmers] 행렬의 덧셈 / JavaScript (0) | 2022.01.20 |
---|---|
[Programmers] 하샤드 수 / JavaScript (0) | 2022.01.20 |
[Programmers] 문자열 내림차순으로 배치하기 / JavaScript (0) | 2022.01.20 |
[Programmers] 시저 암호 / JavaScript (0) | 2022.01.20 |
[Programmers] 문자열 내 p와 y의 개수 / JavaScript (0) | 2022.01.20 |