문제설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때,
전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
주의사항
- s는 길이 4 이상, 20이하인 문자열입니다.
입출력예시
코드
function solution(phone_number) {
let answer = '';
let back = phone_number.slice(phone_number.length-4)
for(let i =0; i < phone_number.length-4; i++){
answer += "*"
}
return answer + back;
}
인기많고 간결한 코드
function solution(phone_number){
return "*".repeat(phone_number.length - 4) + phone_number.slice(-4);
}
정규표현식
function hide_numbers(s) {
return s.replace(/\d(?=\d{4})/g, "*");
}
해석
slice를 사용할 수 있냐 없냐의 문제였던거같다. 나같은 경우는 뒤의 숫자를 따로 변수로 만들어 식을 풀었다.
한줄평
정규표현식이나 한줄코드의 경우 대단하다. 다양한 메소드 활용법과 정규표현식 얼른 공부하자
링크
https://programmers.co.kr/learn/courses/30/lessons/12948
반응형
'개발 공부 > 알고리즘 개념+문제풀이' 카테고리의 다른 글
[프로그래머스 1단계] 평균구하기 (0) | 2021.06.23 |
---|---|
[프로그래머스 1단계] 하샤드 수 (0) | 2021.06.23 |
[프로그래머스 1단계] 행렬의 덧셈_문제풀이 (0) | 2021.06.23 |
[프로그래머스 2단계] 다리를 지나는 트럭_코드스테이츠_queue 프린트 (0) | 2021.06.22 |
[알고리즘] 동적계획법(DP), 다이나믹 프로그래밍 개념정리 (0) | 2021.06.22 |
댓글