Algorithm 알고리즘
[프로그래머스 Lv1]핸드폰 번호 가리기(JAVA)
jy-agnes-lee
2021. 8. 26. 21:04
아ㄹ고리즈ㅁ
[내가 푼 방식]
1. 길이를 구해 substring으로 뒷 네자리 구하기
2. 나머지는 반복문을 통해 *를 해당 길이만큼 붙이기
class Solution {
public String solution(String phone_number) {
String answer = "";
int pnum = phone_number.length();
String lastnum = phone_number.substring(pnum-4,pnum);
for(int i =0;i<pnum-4;i++){
answer += "*";
}
answer = answer+lastnum;
return answer;
}
}
[참고하고 싶은 방식]
1. char[]로 변경하였다가 다시 String으로 변경하는 방식
char[] ch = phone_number.toCharArray();
for(int i = 0; i < ch.length - 4; i ++){
ch[i] = '*';
}
return String.valueOf(ch);
2. 정규표현식 전방탐색
return phone_number.replaceAll(".(?=.{4})", "*");
. -> 임의의 문자 한 개
(?=.) -> 뒷쪽에 임의의 문자 한 개를 제외하고 선택
{숫자} -> 숫자 만큼의 자릿수
.(?=.{4}) ==> 뒤쪽에서 임의의 문자 4개를 제외한 임의의 문자 한 개 선택