본문 바로가기

programmers-코딩테스트 연습/Level 1. 자바

2021-06-13 / 핸드폰 번호 가리기

문제 설명

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

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

 

제한 조건

  • s는 길이 4 이상, 20이하인 문자열이다.

 

입출력 예

phone_number return
"01033334444" "*******4444"
"027778888" "*****8888"

 

초기 코드

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

 

정답 코드

class Solution {
    public String solution(String phone_number) {
        String answer = "";
        int len=phone_number.length();
        String str=phone_number.substring(len-4,len);
        String star="";

        for(int i=0; i<len-4; i++){
           star+="*";
        }
        answer=star+str;
        return answer;
    }
}

 

코드 설명

주어진 전화번호부에서 필요한 부분은 뒷부분 4자리이다. 따라서 substring메서드를 활용하여 끝에서 4자리를 잘라온다.

별의 앞부분은 문자열의 길이에 4자리 앞까지이다 즉, len-4보다 1작은 값이다. (배열은 계산할 때 인덱스가 0부터 인걸 확인!) 

구한 별 문자열과 뒷 4자리 문자열을 더해준다. 문자열끼리 이어붙일 때는 append를 쓸 수도 있지만 +를 쓸 수도 있다.

 

 

 

코딩테스트 연습 - 핸드폰 번호 가리기

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

programmers.co.kr