문제
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
풀이
반복문 없이 풀고 싶어서 Collections 사용
Collections.nCopies를 통해 4자리를 제외한 번호의 길이만큼 *를 생성하고, 문자열을 대치한다.
코드
import java.util.Collections;
public class 핸드폰_번호_가리기 {
public static void main(String[] args) {
// Test case
String phone_number = "01033334444";
solution(phone_number);
}
static String solution(String phone_number) {
String answer = "";
int length = phone_number.length() - 4;
// 문자열 자르기
String sub_phone_number = phone_number.substring(0, length);
// 대치할 문자 만들기
String asterisk = "*";
asterisk = String.join("", Collections.nCopies(sub_phone_number.length(), asterisk));
// 문자열 바꾸기
answer = phone_number.replace(sub_phone_number, asterisk);
return answer;
}
}
'CS > Programmers' 카테고리의 다른 글
[Programmers.Lv1] 비밀지도 (0) | 2020.08.20 |
---|---|
[Programmers.Lv1] 크레인 인형 뽑기 게임 (0) | 2020.08.19 |
[Programmers.Lv1] 키패드 누르기 (0) | 2020.08.13 |
[Programmers.Lv1] 실패율 (0) | 2020.08.09 |
[Programmers.Lv1] 콜라츠 추측 (0) | 2020.08.08 |