본문 바로가기
코딩테스트/Javascript

[Level1] 핸드폰 번호 가리기 답안 및 풀이

by SRin23 2021. 7. 26.

◇ 문제 설명

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

 

◇ 제한 조건

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

 

◇ 입출력 예시

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

 

◇ 초기 내용

※ [출처] 프로그래머스-코딩테스트 연습-문제명

※ 초기 내용을 참고하여 문제에 맞는 코드를 작성하세요.

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

 


◇ 답안

function solution(phone_number) {
    var answer = '';
    for(let i = 0; i<(phone_number.length)-4; i++){
        answer+='*'
    }
    answer += phone_number.slice(phone_number.length-4, phone_number.length)
    return answer;
}

 

◇ 답안 힌트

    ▶  Array.slice(start, end)메서드를 사용해 보세요

    ▶  뒷 4자리를 제외한 나머지 숫자는 "*"로, 뒷 4자리는 전화번호로 나타냅니다.

 

◇ 답안 풀이

function solution(phone_number) {
    var answer = '';
    
    //for문을 이용하여 0~전화번호 뒷 4자리 전까지 "*"로 저장
    for(let i = 0; i<(phone_number.length)-4; i++){
        answer+='*'
    }
    
    //Array.slice(start, end)메소드를 이용하여,
    //전화번호 뒷 4자리~끝까지의 전화번호를 answer에 저장
    answer += phone_number.slice(phone_number.length-4, phone_number.length)
    return answer;
}

 

◇ Array.slice(start, end)

    ▶ 배열 Array의 start인덱스부터 end인덱스까지의(end범위를 포함한) 값을 반환하는 메서드이다.

    ▶ start와 end에는 반환할 범위의 인덱스를 작성한다.

 

◇ 실행결과

핸드폰 번호 가리기 실행결과

 

◇ 출처

https://programmers.co.kr/learn/challenges

 

코딩테스트 연습

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

 

댓글