본문 바로가기

프로그래머스

핸드폰번호가리기

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

'프로그래머스' 카테고리의 다른 글

두 정수 사이의 합  (0) 2022.12.19
x만큼 간격이 있는 n개의 숫자  (0) 2022.12.19
1차 비밀지도 카카오  (0) 2022.12.11
문자열 내마음대로 정렬하기  (0) 2022.12.11
평행  (0) 2022.12.11