[Java] 핸드폰 번호 가리기

최서영·2024년 10월 11일

<문제 설명>
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

<제한 조건>
phone_number는 길이 4 이상, 20이하인 문자열입니다.

<입출력 예>

phone_numberreturn
"01033334444""***4444"
"027778888""*8888"

<풀이>

public class Solution {
    public String solution(String phone_number) {
        // 전화번호의 길이 계산
        int length = phone_number.length();
        
        // 뒷 4자리를 제외한 앞부분을 *로 대체
        String hiddenPart = "*".repeat(length - 4);
        
        // 뒷 4자리 추출
        String lastFourDigits = phone_number.substring(length - 4);
        
        // *로 대체된 앞부분과 뒷 4자리를 결합하여 반환
        return hiddenPart + lastFourDigits;
    }
  1. "*".repeat(length - 4);
  • 뒷 4자리를 제외한 나머지 부분을 "*"로 대체한다.
  • repeat() 메소드는 주어진 문자열을 지정된 횟수만큼 반복하여 새로운 문자열을 만든다. 여기서는 뒷 4자리를 제외한 길이만큼 "*"을 반복해서 생성한다.
  1. phone_number.substring(length - 4);
  • substring() 메소드를 사용하여 문자열의 끝에서 4자리만을 가져온다.

0개의 댓글