본문 바로가기
알고리즘/프로그래머스 문제-JS

[javascript]핸드폰 번호 가리기

by sweesweet 2022. 4. 20.

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

 

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

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

programmers.co.kr

예전에 멋모르고 풀었던 문제인데 배운 기념으로 다시 풀어보았다

<이전에 푼 방식>

function solution(phone_number) {
    let star="*"
    let num =phone_number+""
    if(num.length>4){
        for (let i = 0; i<(num.length-5);i++ ){
            star+='*'
            }
    return star+num.slice(num.length-4);
    }
    else{
        return num;
    }

}
더보기
테스트 1 통과 (0.05ms, 30.4MB)
테스트 2 통과 (0.04ms, 30.2MB)
테스트 3 통과 (0.05ms, 30.1MB)
테스트 4 통과 (0.04ms, 30.2MB)
테스트 5 통과 (0.05ms, 30.3MB)
테스트 6 통과 (0.09ms, 30.4MB)
테스트 7 통과 (0.04ms, 30.3MB)
테스트 8 통과 (0.06ms, 30.3MB)
테스트 9 통과 (0.04ms, 30.1MB)
테스트 10 통과 (0.04ms, 30.4MB)
테스트 11 통과 (0.05ms, 30.4MB)
테스트 12 통과 (0.05ms, 30.3MB)
테스트 13 통과 (0.04ms, 30.2MB)

 

 

<오늘 푼 방식>

function solution(phone_number) {
  return `${'*'.repeat(phone_number.length-4)}${phone_number.slice(-4)}`
}
더보기

 

테스트 1 통과 (0.05ms, 29.7MB)
테스트 2 통과 (0.03ms, 30MB)
테스트 3 통과 (0.03ms, 29.7MB)
테스트 4 통과 (0.03ms, 29.9MB)
테스트 5 통과 (0.04ms, 29.9MB)
테스트 6 통과 (0.04ms, 29.7MB)
테스트 7 통과 (0.03ms, 29.8MB)
테스트 8 통과 (0.03ms, 29.9MB)
테스트 9 통과 (0.03ms, 30.1MB)
테스트 10 통과 (0.04ms, 30MB)
테스트 11 통과 (0.04ms, 29.9MB)
테스트 12 통과 (0.03ms, 30MB)
테스트 13 통과 (0.04ms, 30MB)

오늘 푼 방식이 훨 빠르구만...