프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *
으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
class Solution {
public String solution(String phone_number) {
//phone_number를 두 부분으로 나누어준다.
String front = phone_number.substring(0,phone_number.length()-4);
String back = phone_number.substring(phone_number.length()-4,phone_number.length());
//front 부분을 *으로 치환한다.
front=front.replaceAll("\\d","*");
String answer = front+back;
return answer;
}
}
phone_number 문자열을 두 부분으로 나눈다.
front
: 처음부터 뒷 4자리 전까지back
: front
다음부터 마지막까지front
부분을 *
으로 치환한다.
\\d
또는 [0-9]
활용!front
와 back
을 결합한다.
substring(int startIndex)
substring(int startIndex, int endIndex)
replace(CharSequence target, CharSequence replacement)
replaceAll(String regex, String replacement)
[0-9]
\d
\\d
\
)는 이스케이프 문자로 사용되기 때문에\\d
를 사용해야 한다.
덕분에 좋은 정보 얻어갑니다, 감사합니다.