728x90
📋 문제
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때,
전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
📋 입출력 예시

📋 풀이
class Solution {
public String solution(String phone_number) {
String answer = "";
String remain = "";
int len = phone_number.length();
// 마지막 4자리 제외한 부분 추출
remain = phone_number.substring(0,len-4);
// 마지막 4자리만 추출
String lastFour = phone_number.substring(len - 4);
// remain부분 *로 마스킹
String masked = remain.replaceAll(".", "*");
// 얘네 합체
answer = masked + lastFour;
return answer;
}
}
(남의 코드 보니 나는 너무 복잡하게 푼 것 같기도,,,)
❗️ replaceAll(".", "*")
여기서 "."은 모든 것을 변경하겠다는 것임
정규 표현식에서 .의 의미
. (dot): 정규 표현식에서 .은 임의의 한 문자와 매칭
이 문자는 문자, 숫자, 기호, 공백 등 모든 단일 문자를 포함
즉, .는 문자 클래스를 나타내며, 입력 문자열의 모든 문자와 일치
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [Lv.1] 두 정수 사이의 합 (0) | 2024.08.07 |
|---|---|
| [Lv.1] 콜라츠 추측 (0) | 2024.08.06 |
| [Lv.1] 나머지가 1이 되는 수 찾기 (0) | 2024.08.04 |
| [Lv.1] 서울에서 김서방 찾기 (0) | 2024.08.04 |
| [Lv.1] 직사각형 별찍기 (0) | 2024.08.03 |