풀이

StringBuilder의 setCharAt 메서드를 사용해서 번호를 * 로 치환했다.

  public static String solution(String num) {
        //stringbuilder 객체 생성해주고 문자열 치환
        StringBuilder sb = new StringBuilder(num);
        for (int i = 0; i < sb.length() - 4; i++) {
            sb.setCharAt(i, '*');
        }
        //StringBuilder에서 String 으로 변환해서 리턴
        return sb.toString();
    }

다른 풀이

문자열 치환해야될 부분의 개수만큼 * 을 String에 추가해주고 나머지는 substring으로 뒤에서 4개 가져와서 추가해준다.

근데 String에 더하는 방법과 StringBuilder의 append() 사용하는 방법 중 어느쪽 성능이 좋은지는 모르겠답.

 public String solution(String phone_number) {
      String answer = "";

        for (int i = 0; i < phone_number.length() - 4; i++)
            answer += "*";

        answer += phone_number.substring(phone_number.length() - 4);

        return answer;
  }

+ Recent posts