Algorithm - 핸드폰 번호 가리기

SeowooCHo2·2022년 5월 13일
0

알고리즘

목록 보기
10/28
post-thumbnail

핸드폰 번호 가리기

<프로그래머스 문제를 기반으로 합니다>

  • 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
  • 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

휴대폰 고지서에 쓰여있는 전화번호를 연상해보면 이해가 쉽죠? 😉

제한 조건

  • phone_number는 길이 4 이상, 20이하인 문자열입니다.
입출력 예

phone_number	return
"01033334444"	"*******4444"
"027778888"		"*****8888"

입력된 값의 길이에 관계없이 뒷번호 4자리만 기존 번호로 표시되고, 나미지 번호들은 모두 '*'로 대체되어있는 것을 알 수 있습니다 (●'◡'●)

자 그럼 어떻게 풀면 될까요??

  1. '*'로 바꿀 문자의 개수 즉, 앞에서 뒷 네자리 수가 나오기 전까지의 길이를 구하고
  2. 뒤에서 4자리를 추출해 낸 다음
  3. '*'로 바꾼 string 값과 2번에서 추출해낸 string 값을 더해주면?
  4. 답이 뙇👍

아 그러면 저번 알고리즘 풀이에 썼던 substr()도 좋지만 이번엔 slice()를 써보는게 좋겠다!! ( ̄︶ ̄)↗ 

<풀이 완성 코드>

function solution(phone_number) {
    var answer = '';
    
    const len = phone_number.length - 4
    answer = '*'.repeat(len) + phone_number.slice(-4) //substr
    return answer;
}

(추가 설명)

substr() vs substring() vs slice ??

궁금해??

profile
먹고 배우는 것엔 아끼지 말자구 ( ̄︶ ̄)↗ 

0개의 댓글