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

최지나·2023년 9월 19일
0

코딩테스트

목록 보기
5/154

문제

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

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

입출력 예

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

문제 출처

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

생각

  • 전화번호에서 끝 4자리를 substring()으로 가져오자
  • 앞에 *로 표시하는 글자들의 수는 전화 번호 총 자릿수 -4 로 구하자

코드

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

다른 사람의 풀이

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);
  }
}
  • 이해하기도 쉽고, 빠른 풀이로 가져왔다
  • *로 변환하지 않아도 되는 숫자들은 놔두고, 앞의 변환해야 하는 숫자들만 바꾼 것이 깔끔하고
    속도도 0.03ms 정도로 훨씬 빠른 풀이였다
profile
의견 나누는 것을 좋아합니다 ლ(・ヮ・ლ)

0개의 댓글