0331 핸드폰 번호 가리기

xodus·2022년 4월 2일
0

codingTest

목록 보기
4/24

문제 설명

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

제한 조건

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

입출력 예

phone_numberreturn
"01033334444"*******2422
"027778888"*****8888"

기본코드

class Solution {
    public String solution(String phone_number) {
        String answer = "";
        return answer;
    }
}

정답코드

class Solution {
    public String solution(String phone_number) {
        String answer = "";
        String str = new String(phone_number);
            
        //문자열의 길이를 알고싶을땐 length() 사용!!!
        for(int i = 0; i < str.length(); i++){ 
        
            if(i < str.length()-4){
                answer += "*";
            }
            else {
                //charAt(i) 의 의미는 String으로 저장된 문자열 중에서 한 글자만 선택해서 char 타입으로 변환해준다.
                //charAt(?) ?는 index 번호를 뜻한다. 몇번째 번호를 가져올것인지!! i가 8이면 8번째에 있는 문자를 가져온다는 뜻!
                answer += str.charAt(i);
            }
        }
        return answer;
    }
}

문제풀이

처음에 문자열의 길이로 for문을 돌리고 싶었지만 방법을 몰랐기때문에 구글링을해서 length()를 찾게 되었다. 문자열의 길이에서 -4를 해주면 11-4하면 7이기 때문에 7만큼을 *를 해주도록 if문을 작성했다. else일 경우에는 어떻게 코드를 짜야할지 고민하다가.. 구글링을 또 하게 되었다. 하다보니 charAt()을 찾게 되었고, 주석 올린것과 같이 저장된 문자열 중에서 한글자만 선택하여 문자로 변환해주는 것이다. i번째 번호를 가져오면 answer에 추가하는 방법으로 코드를 작성했다.

2개의 댓글

comment-user-thumbnail
2022년 4월 2일

주석 달면서 실습하는 거 넘 멋져요!!!!!!!!

답글 달기
comment-user-thumbnail
2022년 4월 3일

charAt 함수 잘 활용했네요 주석도 달고 멋져요!

답글 달기