[프로그래머스 Level 1] 핸드폰 번호 가리기 문제 풀이

❓ 문제

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

제한 조건

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

🖨️ 입출력 예

💡 풀이 1

class Solution {

    public String solution(String phone_number) {
        int l = phone_number.length(); // 전화번호 길이
        String answer = "";

        // 뒷 4자리를 제외한 나머지 숫자를 전부 *로
        for(int i = 0; i < l - 4; i++) {
            answer += '*';
        }

        // 뒷 4자리는 그대로 
        answer += phone_number.substring(l - 4, l);

        return answer;
    }
}

💡 풀이 2

class Solution {

    public String solution(String phone_number) {
        char[] c = phone_number.toCharArray();
        
        for(int i = 0; i < c.length - 4; i++) {
            c[i] = '*';
        }

        return String.valueOf(c);
    }
}

✏️ comment

  • toCharArray()
    • 자바 toCharArray() 메소드는 문자열을 char형 배열로 바꿔준다.
    • 반환되는 배열의 길이는 문자열의 길이와 같다.
    • 문자열의 공백 또한 인덱스에 포함한다.
  • 객체를 String으로 변환하는 방법
    • Object.toString()
    • String.valueOf(Object) -> 사용 추천. 이유? 파라미터가 null이면 문자열 "null"을 만들어 반환하므로 NPE 발생 방지 가능

좋은 웹페이지 즐겨찾기