프로그래머스

핸드폰번호가리기

backend_fighting 2022. 12. 19. 18:55
728x90

나의풀이

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

결과 : 너무 느리다.

 

베스트코드(프로그래머스 출처)

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);
  }
}

고찰 : String처리가 너무 느리다 볼수있고 위코드 처럼char배열에 전체를 복사한다음 뒤에 4자리는 처리 안한것이 시간 복잡도 측면에서 좋다고 볼수 있을것 같다.

728x90