상당히 오랜 시간동안 구글링을 하고 나서야 풀 수 있었다. 파이썬으로 쉽게 풀 수 있었는데 자바에서는 문자열에 대한 공부가 더 필요할 것 같다. 특히, 정규 표현식에 대해 깊게 공부한 다음 추가 포스팅을 올리도록 하겠다.
class Solution {
public String solution(String new_id) {
new_id = new_id.toLowerCase();
new_id = new_id.replaceAll("[^-_.a-z0-9]","");
new_id = new_id.replaceAll("[.]{2,}",".");
new_id = new_id.replaceAll("^[.]|[.]$","");
if (new_id.equals("")) {
new_id += "a";
}
if (new_id.length() >= 16) {
new_id = new_id.substring(0,15);
new_id = new_id.replaceAll("[.]$", "");
}
while (new_id.length() <= 2) {
new_id += new_id.charAt(new_id.length()-1);
}
return new_id;
}
}