Skip to main content Link Search Menu Expand Document (external link) Copy Copied

문제

문제 설명

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

제한 조건

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

입출력 예

phone_number return
“01033334444” ***4444”
“027778888” “*****8888”

제출 코드

class Solution {
    public String solution(String phone_number) {

        return getPassNum(phone_number);
    }

    private String getPassNum(String phone_number){
        int len = phone_number.length();
        StringBuilder sb = new StringBuilder("");

        for(int i = 0; i < len-4; i++) sb.append("*");
        sb.append(phone_number.substring(len-4,len));

        return sb.toString();
    }
}


제출 코드 요약

  1. 단순히 String을 “+” 컨켄트네이션하는 것 보다 더 빠른 속도를 위해 StringBuilder를 썼더니 50배나 단축되었다.
  2. 정규화표현식을 쓸 생각을 못했다.