본문 바로가기
프로그래머스

[프로그래머스 JAVA] 핸드폰 번호 가리기

by 뿌비 2024. 7. 10.
728x90

🔥 문제 설명

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.

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

 

🔥 제한 조건

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

 

🔥 입출력 예

phone_number return
"01033334444" "*******4444"
"027778888" "*****8888"

🔥 코드

import java.lang.StringBuilder;

class Solution {
    public String solution(String phone_number) {
        StringBuilder str = new StringBuilder(phone_number);
        String answer = "";
        String star = "";
        int end = (int)(phone_number.length() - 4);
        
        for(int i=0 ; i<end; i++){
            star += "*";
        }
        answer = String.valueOf(str.replace(0,end, star));
        
        return answer;
    }
}

🔥 문제 풀이 과정

  1. StringBuilder의 replace() 메서드를 사용해 문자열을 치환했다
  2. 뒷 4자리를 제외한 나머지 숫자에 * 를 찍어야 해서 phone_number.length() - 4 뺀 값으로 for 문을 돌려 앞자리 수만큼 * 을 만들었고 그걸 치환할 문자열로 넣어주었다

※ Reference

https://adjh54.tistory.com/129

https://da2uns2.tistory.com/entry/Java-StringBuilder-사용법과-주요-메소드

 

 

728x90