본문 바로가기
내일배움캠프/Daily Routine (알고리즘)

[내일배움캠프] 알고리즘 Daily Routine 27. 핸드폰 번호 가리기

by TIP__ 2024. 9. 10.

안녕하세요.
27회차 과제 "핸드폰 번호 가리기"입니다.

문제 설명

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.

전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

제한 사항

phone_number는 길이 4 이상, 20이하인 문자열입니다.

풀이

class Solution {
    public String solution(String phone_number) {
        String answer = "";
        int cnt = phone_number.length() - 4;
        String lastNumber = phone_number.substring(cnt);
        answer = "*".repeat(cnt) + lastNumber;
        return answer;
    }
}

 -. 끝 4자리만 남기고 모두 *로 가린다 에서 처음 생각했던 건 내용을 *로 바꾸자 였습니다.

 -. 그러다가 문득 생각난 게 바꿀 필요 없이 끝 4자리만을 남기고 나머지는 그 길이만큼 *을 반복하면 되지 않을까?

 -. 그렇게 해서 먼저 마지막 4자리의 번호만 따로 추출하였고

 -. 엑셀의 rept라는 문자를 계속 반복해주는 함수가 있는데 그 함수처럼 작동하는 게 있을거라 생각했고 .repeat를 찾았습니다.

 -. 끝 4자리만 남겨둔 채 앞부분은 *을 반복해주는 코드로 완성했습니다.

배운 것

String.repeat(int)

이 메서드는 특정 문자열을 특정 횟수만큼 반복하는 메서드입니다.

"반복할 문자열".repeat("반복횟수")

 

 

저처럼 처음해보시는 분들에게 이 글이 조금이나마 도움이 되었으면 좋겠습니다.

댓글