https://programmers.co.kr/learn/courses/30/lessons/12948
나의 풀이
2ms, 1ms...
class Solution {
public String solution(String phone_number) {
String answer = "";
int len = phone_number.length();
for (int i = 0; i < len - 4; i++) {
answer += "*";
}
answer += phone_number.substring(len - 4);
return answer;
}
}
다른 사람의 풀이1 - StringBuilder 사용
0.02ms
class Solution {
public String solution(String phone_number) {
StringBuilder sb = new StringBuilder();
int len = phone_number.length();
for (int i = 0; i < len - 4; i++) {
sb.append("*");
}
sb.append(phone_number.substring(len - 4));
return sb.toString();
}
}
다른 사람의 풀이2 - char 배열 사용
0.02ms
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 관련 글
- 자바 스트링 문자열 사용법 정리
- 자바 문법 - 문자열(String 객체) 다루기
Integer.toString(value)
Integer.parseInt(str)
String.valueOf(int i)
인자로 주어진 다른 타입의 데이터를 문자열로 변경하는 정적 메소드 입니다. 모든 원시 타입에 대해 오버로딩된 메소드가 있습니다.
StringBuilder 관련 글
다른 사람의 풀이3 - 정규식
class Solution {
public String solution(String phone_number) {
return phone_number.replaceAll(".(?=.{4})", "*");
}
}