풀이
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;
}
'algorithm > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 문자열 내림차순으로 배치하기 JAVA (0) | 2022.09.30 |
---|---|
프로그래머스 - 나누어 떨어지는 숫자 배열 (0) | 2022.09.29 |
프로그래머스 - 서울에서 김서방 찾기 JAVA (0) | 2022.09.29 |
프로그래머스 - 두 정수 사이의 합 JAVA (2) | 2022.09.29 |
프로그래머스 - 콜라츠 추측 JAVA (0) | 2022.09.29 |