CS/Programmers

[Programmers.Lv1] 핸드폰 번호 가리기

칸타탓 2020. 8. 8. 17:11

문제

전화번호가 문자열 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