아ㄹ고리즈ㅁ
[내가 푼 방식]
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개를 제외한 임의의 문자 한 개 선택
'Algorithm 알고리즘' 카테고리의 다른 글
[프로그래머스 Lv1]평균구하기(JAVA) (0) | 2021.08.27 |
---|---|
[프로그래머스 Lv1]하샤드 수(JAVA) (0) | 2021.08.27 |
[프로그래머스 Lv1]행렬의 덧셈(JAVA) (0) | 2021.08.25 |
[프로그래머스 Lv1]x만큼 간격이 있는 n개의 숫자(JAVA) (0) | 2021.08.24 |
[프로그래머스 Lv1]직사각형 별찍기(JAVA) (0) | 2021.08.23 |