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

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

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

입출력 예 Image with caption

전화번호의 길이를 구해서 뒷자리 4자리를 뺀 만큼 for문을 돌려서 *로 처리해주고 substring을 이용해서 마지막에 4자리를 붙여주는 방법으로 풀어보았다.

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

다른 사람 문제 풀이

	class Solution {
  public String solution(String phone_number) {
      String answer = "";  
      StringBuilder sb = new StringBuilder();
      int length = phone_number.length();
      
		for (int i = 0; i < length - 4; i++) {
			sb.append('*');
		}
		for (int i = length - 4; i < phone_number.length(); i++) {
			sb.append(phone_number.charAt(i));
		}
      
        answer = sb.toString();
      
      return answer;
  }
}

출처: 너구리의 코딩 블로그 https://javacoding.tistory.com/115

Discussion and feedback