핸드폰 번호 가리기

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


    class Solution {
        public String solution(String phone_number) {
            String answer = "";
    
            for (int i = 0; i < phone_number.length() - 4; i++) {
                answer += "*";
            }
    
            answer += phone_number.substring(phone_number.length() - 4);
    
            return answer;
        }
    }

    전화번호 길이를 구해서 뒷자리 4개를 빼고 모두 *로 바꾼 후에
    마지막 4자리만 answer에 붙여준다.


    조금 더 깔끔하게는 repeat도 사용 가능

    class Solution {
        public String solution(String phone_number) {
            return "*".repeat(phone_number.length() - 4)
                 + phone_number.substring(phone_number.length() - 4);
        }
    }

    repeat() 함수는 문자열을 원하는 횟수만큼 반복해서 만들어준다

    "*".repeat(5)

    의 결과는

    "*****"

    이므로

    "*".repeat(phone_number.length() - 4)

    의 뜻은 전화번호 길이에서 4를 뺀 만큼 *을 만들어라

    주의할 점은 Java에서는 repeat()을 쓸 때 문자 하나의 '*'가 아니라
    문자열 "*"를 써야한다


0개의 댓글