본문 바로가기
알고리즘 스터디/프로그래머스 스킬체크 레벨 1(끝)

[프로그래머스 스킬체크 레벨 1] 핸드폰 번호 가리기 문제 풀이 및 설명 - 자바스크립트[JAVASCRIPT]

by 레일라오리덕 2021. 4. 29.
728x90

programmers.co.kr/learn/courses/30/lessons/12948

 

코딩테스트 연습 - 핸드폰 번호 가리기

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자

programmers.co.kr

문제

 

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

 

제한 사항

 

  • s는 길이 4 이상, 20이하인 문자열입니다.

결괏값 예시

 

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

 

기본 제공 틀

 

function solution(phone_number) {
    var answer = '';
    return answer;
}

 

풀이 [JavaScript]

 

안녕하세요, 오늘은 프로그래머스 스킬체크 레벨 1의 문제인 핸드폰 번호 가리기 문제를 풀이해보도록 하겠습니다.

이 문제에서 중요한 포인트는 가장 마지막 4자리만 살리고 그 나머지 숫자들은 제거하는 것인데요.

마지막 4자리 숫자를 제외한 값들을 모두 *로 바꾸려면 문자열.repeat()이라는 메서드를 사용해야합니다.

저는 처음에 실수로 "*"*(phone_number.length-4)를 입력했는데, 값이 NaN이 나와 당황했습니다.

자바스크립트에서 문자열을 반복해서 출력하기 위해서는 문자열.repeat(갯수)를 입력해주어야합니다.

그래서 phone_number의 총 길이보다 4 적은 수만큼 *을 찍어주었고, 문자열.substr(index, 갯수) 메서드를 사용하여 마지막 4자리 숫자들을 리턴할 수 있게 해주었습니다. 

 

728x90

 

function solution(phone_number) {
    return "*".repeat((phone_number.length-4)) + phone_number.substr(-4, 4);
}

 

채점 결과 [JavaScript]

 

728x90

댓글