Just Do IT!

[프로그래머스 Level 1] 12948. 핸드폰 번호 가리기 (JavaScript/Python) 본문

코딩테스트 준비/Level 1

[프로그래머스 Level 1] 12948. 핸드폰 번호 가리기 (JavaScript/Python)

MOON달 2023. 4. 8. 14:31
728x90
반응형

문제 설명

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

제한 조건

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

입출력 예

phone_number answer
"01033334444" "*******4444"
"027778888" "*****8888"

 


 

자바스크립트로 풀기

function solution(phone_number) {
    var answer = '';
    
    answer = phone_number.slice(0, -4).replace(/[0-9]/g, '*') + phone_number.slice(-4);
    
    return answer;
}
  • slice() 사용해서 앞 부분 잘라서 '*'으로 변경
  • 정규 표현식 사용해서 숫자를 '*'으로 변경
  • 뒷자리 4개 slice() 사용해서 자르기

 

 

다른 사람 풀이

function solution(phone_number) {
    const len = phone_number.length - 4;
    return "*".repeat(len) + phone_number.substring(len);
    // 뒤 4자리를 기준으로 앞의 번호들을 repeat를 사용해 *처리해주고, substring은 인덱스 값을 사용해 시작점을 정해줄 수 있다.
}

굳이 정규 표현식을 쓰지 않고 repeat()을 사용해도 되는 거였다니..!! 기본에 충실해야겠다.

 

 

 

 

 


파이썬으로 푼 풀이

def solution(phone_number):
    num = len(phone_number)
    back = phone_number[-4:]
    return "*"*(num-4) + back

과거의 나는...이렇게 간단하게 풀었구나....하며 복습을 해봤다...ㅋㅋㅋㅋ

728x90