프로그래머스 Lv.1 핸드폰 번호 가리기 JAVA

Study with cocochichi·2023년 11월 5일
0

프로그래머스 Lv.1

목록 보기
19/21
post-thumbnail

문제 설명

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

제한 조건

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

입출력 예

phone_numberreturn
"01033334444""***4444"
"027778888""*8888"

풀이코드

class Solution {
    public String solution(String phone_number) {
        String answer = "";
        int numlength = phone_number.length();
        
        for(int i=0; i<numlength-4; i++){
           answer += "*";
        }
        
        answer += phone_number.substring(numlength-4);
        
        return answer;
    }
}

✏️ 풀이방법

substring을 사용하여 numlength-4 부터 끝까지 추출한 문자를 answer에 더해 같이 나열하는 방법을 사용
굳이 int numlength = phone_number.length(); 이렇게 따로 설정하지 않아도 됨!!

다른 풀이코드

class Solution {
  public String solution(String phone_number) {
     char[] ch = phone_number.toCharArray();
     for(int i = 0; i < ch.length - 4; i ++){
         ch[i] = '*';
     }
     return String.valueOf(ch);
  }
}

✏️ 풀이방법

  1. char[] ch = phone_number.toCharArray(); 로 문자열을 문자 배열로 변환. 문자열을 문자 단위로 처리하기 위한 것
  2. for문을 통해 ch.length-4까지 ch[i] = ''로 대체 하면서 뒷 4자리를 제외한 부분이 로 대체
  3. String.valueOf(ch); 처리가 끝난 문자 배열 ch를 다시 문자열로 변환하여 리턴

0개의 댓글