프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전호번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *
으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
phone_number | return |
---|---|
"01033334444" | "*******4444" |
"027778888 | "*****8888" |
class Solution {
public String solution(String phone_number) {
StringBuilder answer = new StringBuilder(phone_number);
for(int i = 0; i < phone_number.length()-4; i++) {
answer.setCharAt(i, '*');
}
return answer.toString();
}
}
StringBuilder : String 객체를 더할 때 새로운 객체를 생성하는 것이 아니기 때문에 상대적으로 속도도 빠르고 메모리도 효율적으로 이용할 수 있다.
뒷 4자리는 무조건 숫자가 표현되어야 하므로 phone_number.length()-4
을 해준다.
StringBuilder의 내장 함수setCharAt(int index, char ch)를 사용하여 주어진 인덱스에 있는 문자를 주어진 문자로 바꿔준다.
StringBuilder는 문자열을 뽑아낼 때 .toString()을 사용한다.