코딩테스트/프로그래머스

[Lv.1] 핸드폰 번호 가리기

민톨이 2024. 8. 4. 03:06
728x90

📋 문제

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

 

📋 입출력 예시

 

📋 풀이

class Solution {
    public String solution(String phone_number) {
        String answer = "";
        String remain = "";
        int len = phone_number.length();
        // 마지막 4자리 제외한 부분 추출
        remain = phone_number.substring(0,len-4);
        // 마지막 4자리만 추출
        String lastFour = phone_number.substring(len - 4);
        // remain부분 *로 마스킹
        String masked = remain.replaceAll(".", "*");
        // 얘네 합체
        answer = masked + lastFour;
        return answer;
    }
}

 

 

(남의 코드 보니 나는 너무 복잡하게 푼 것 같기도,,,)

 

❗️ replaceAll(".", "*")

여기서 "."은 모든 것을 변경하겠다는 것임

정규 표현식에서 .의 의미
. (dot): 정규 표현식에서 .은 임의의 한 문자와 매칭
이 문자는 문자, 숫자, 기호, 공백 등 모든 단일 문자를 포함
즉, .는 문자 클래스를 나타내며, 입력 문자열의 모든 문자와 일치