코딩테스트/프로그래머스

프로그래머스 #12948 핸드폰 번호 가리기

hyomee2 2024. 8. 12. 21:15

 

내가 작성한 코드는 아래와 같다.

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

        for (int i = 0; i < phone_number.length(); i++) {
            if (i < phone_number.length() - 4)
                answer += "*";
            else
                answer += phone_number.charAt(i);
        }

        return answer;
    }
}

 

다른 사람들이 작성한 코드를 살펴보려고 한다.

 

예시 코드 1

class Solution {
  public String solution(String phone_number) {
     // String을 char형 배열로 바꿔 반환한다.
     char[] ch = phone_number.toCharArray();
     
     // 뒤의 4자리를 남기고 앞자리는 *로 바꾸어준다.
     for(int i = 0; i < ch.length - 4; i ++)
         ch[i] = '*';
     
     // 인자로 받은 문자형 배열을 문자열로 변환
     return String.valueOf(ch);
     // return new String(ch); 와 같이 작성할 수도 있다.
  }
}

아이디어

String을 char 형 배열로 바꾸고 다시 String으로 합쳐준다.

1) String -> char형 배열

- toCharArray() 이용

2) char형 배열 -> String

- String.valueOf(배열) 이용

- String str = new String(배열) 이용