본문으로 바로가기

📘문제 설명

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

https://school.programmers.co.kr/learn/courses/30/lessons/12948

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 


📌 제한조건

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

💡 개념 설명

  1. 전화번호 전체 길이를 구합니다.
  2. 마지막 4자리를 제외한 나머지 길이만큼 *를 붙입니다.
  3. 마지막 4자리는 그대로 붙입니다.
  4. 두 문자열을 합쳐 리턴합니다.

📎 입출력 예시


📎 코드

class Solution {
    public String solution(String phone_number) {
        String answer = "";  // 결과를 저장할 빈 문자열

        int length = phone_number.length(); // 글자 전체 개수 (예: 11)
        int starCount = length - 4; // * 표시할 개수

        // * 표시를 starCount만큼 붙이기
        for (int i = 0; i < starCount; i++) {
            answer += "*";
        }

        // 뒷 4자리 잘라서 붙이기 (substring으로)
        answer += phone_number.substring(length - 4); // 예: 11 - 4 = 7 → substring(7)

        return answer;
    }

    public static void main(String[] args) {
        Solution sol = new Solution();

        // 예시 실행
        System.out.println(sol.solution("01033334444")); // *******4444
        System.out.println(sol.solution("027778888"));   // *****8888
    }
}

 


📎 결과