문제 풀이/프로그래머스 알고리즘

핸드폰 번호 가리기

열심히 해 2024. 9. 30. 09:58

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

 

 

나의 답 : 

더보기
class Solution {
    public static String solution(String phone_number) {
        String answer = "";
        StringBuilder strPhone_number = new StringBuilder(phone_number);
        strPhone_number.reverse();

        for (int i=4; i<strPhone_number.length(); i++) {
            strPhone_number.setCharAt(i, '*');
        }

        strPhone_number.reverse();
        answer = strPhone_number.toString();
        return answer;
    }
}

 

 

몰랐던 메서드 이용 : 

 

String.repeat(int count)

String.substring(int beginIndex, int endIndex)

String.substring(int beginIndex)

더보기
class Solution {
    public static String solution(String phone_number) {
        // 전화번호의 길이
        int length = phone_number.length();

        // 전화번호의 뒷 4자리를 제외한 나머지 부분을 *로 마스킹하기 위해 사용됩니다.
        // "*".repeat(n):
        //repeat(int count) 메서드는 주어진 문자열(*)을 count만큼 반복하여 새로운 문자열을 생성합니다.
        String maskedPart = "*".repeat(length - 4);

        // 전화번호의 뒷 4자리를 추출하기 위해 사용됩니다.
        // substring(int beginIndex): 
        // 이 메서드는 주어진 인덱스(beginIndex)부터 문자열의 끝까지의 부분 문자열을 반환합니다. 문자열 자르기
        String visiblePart = phone_number.substring(length - 4);

        return maskedPart + visiblePart;
    }
}