[프로그래머스] 핸드폰 번호 가리기

쿼카쿼카·2022년 9월 11일
0

알고리즘

목록 보기
7/67
function solution(phone_number) {
  	// 내가 푼 풀이
    return '*'.repeat(phone_number.length-4) + phone_number.slice(-4);
  
  	// replace 정규식 이용한 풀이
  	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자 빼고는 모두 *로 바뀜
profile
쿼카에요

0개의 댓글