본문 바로가기
Java

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

by hunbal 2023. 6. 20.
SMALL

 

문제

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

제한 조건


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

 

입출력 예

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

 


문제 풀이

뒷자리 번호 4개는 항상 표시하면 되므로 substring()함수로 추출하고, 그 앞의 자리 숫자들은 번호 전체 길이를 구한 후 for문을 활용하여 뒤에 4개 숫자만 제외하여 "*"로 표기한다.

 

class Solution {
    public String solution(String phone_number) {
        String answer = "";  
        int length = phone_number.length(); //전화번호의 총 길이를 구한다.
        for(int i = 1; i <= length - 4; i++ ){ //뒤에 네자리만 빼고 반복하여 "*"를 연산한다.
            answer = answer + "*";
        }
        
        answer += phone_number.substring(length - 4); //연산한 "*"에 뒷자리 번호 4개를 더해준다. 
   
        return answer;
    }
}
/*
테스트 1
입력값 〉	"01033334444"
기댓값 〉	"*******4444"
실행 결과 〉	테스트를 통과하였습니다.
테스트 2
입력값 〉	"027778888"
기댓값 〉	"*****8888"
실행 결과 〉	테스트를 통과하였습니다.
*/

 

문제 출처

 

https://school.programmers.co.kr/learn/courses/30/lessons/12948

 

댓글