반응형
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
문제 풀이
public class phoneNumber {
public String solution(String phone_number) {
int len = phone_number.length();//핸드폰 번호 길이
//뒤 4자리를 제외한 길이만큼의 * 배열 생성 + 뒷번호 4자리
return new String(new char[len - 4]).replace("\0", "*") + phone_number.substring(len - 4, len);
}
public static void main(String[] args) {
phoneNumber method = new phoneNumber();
String result = method.solution("01044172716");
System.out.println(result);
}
}
char형식의 빈 배열을 폰 번호 전체 길이 - 4자리 길이로 생성한 후, 빈 배열을 *로 채운다.
폰 번호에서 뒷번호 4자리를 추출해온다.
2개를 더하여 반환한다!
코드 구현에 있어서 문자열을 적절하게 다룰 줄 아는 것은 중요한 것 같다.. Stirng의 내장함수들을 잘 알아두자!!
- replace(찾을 문자, 대체할 문자) - 문자열에서 "찾을 문자"를 한 개 찾아서 "대체할 문자"로 바꾸기!
Ex) String test = "ABCDEFA";
test = test.replace("A", "!");
결과 : test -> "!BCDEFA"가 된다.!, 즉 첫번째 A 하나만 바꾼다! - replaceAll(찾을 문자, 대체할 문자) - 문자열에서 "찾을 문자"를 모두 찾아서 "대체할 문자"로 바꾸기!
Ex) String test = "ABCDEFA";
test = test.replaceAll("A", "!");
결과 : test -> "!BCDEF!"가 된다.!, 모든 A 를 바꾼다! - substring(시작 인덱스, 끝 인덱스) - 문자열을 잘라주는 함수! 원하는 범위를 적어주면 된다.
반응형
'코테풀이' 카테고리의 다른 글
[프로그래머스 Lv.1 - Java] x만큼 간격이 있는 n개의 숫자 (0) | 2021.11.08 |
---|---|
[프로그래머스 Lv.1 - Java] 행렬의 덧셈 (0) | 2021.11.08 |
[프로그래머스 Lv.1 - Java] 평균 구하기 (0) | 2021.11.08 |
[프로그래머스 Lv.1 - Java] 음양 더하기 (0) | 2021.11.08 |
[프로그래머스 Lv.1 - Java] 없는 숫자 더하기 (0) | 2021.11.08 |