알고리즘 문제/programmers

[ 프로그래머스 ] 핸드폰 번호 가리기

HAyooni 2022. 8. 22. 18:20

문제설명

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

 

제한조건 

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

 

예시

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

 

풀이

class Solution {
    public String solution(String phone_number) {
        String answer = "";
        String chr = "*";
        
        int num = phone_number.length() -4;
        
        for(int i=0; i < num; i++){
            answer += chr;
        }
        
        for(int j= num; j < phone_number.length(); j++){
            answer += phone_number.charAt(j);
        }

        return answer;
    }
}

 

 

뒤에서 4자리는 번호로 출력되고 그 이전에는 다 *로 바꿔서  출력되어야 하는 문제입니다.

chr, num 을 선언하여 chr 에는 문자 * 를 , num에는 입력되는 phone_number의 길이에서 -4를 제외한만큼의 수를 대입하였습니다.

 

첫 번째 for 문에서는 *을 출력할 것이기 때문에 number만큼 chr 를 넣어주었습니다.

두 번째 for 문에서는 숫자를 출력할 것이기 때문에 앞에 시작을 num부터하여 총 길이만큼의 숫자들이 차례대로 반환될 수 있도록 하였습니다. 

 

 

 

 

 

출처 : 프로그래머스 https://school.programmers.co.kr/