class Solution {
public String solution(String new_id) {
String answer = "";
// 1. new_in 소문자 치환
new_id = new_id.toLowerCase();
// 2. 소문자, -, _, . 외에 제거
// 정규식[]속 ^는 not을 의미
new_id = new_id.replaceAll("[^a-z0-9-_.]", "");
// 3. .가 2번 이상 반복되면 1개로 치환
new_id = new_id.replaceAll("\\.{2,}", ".");
// 4단계 처음이나 끝에 위치한 .제거
new_id = new_id.replaceAll("^(\\.)|(\\.)$","");
// 5단계 빈 문자열에 a 대입
if(new_id.isEmpty()) new_id = "a";
// 6단계 15개를 초과하는 문자 삭제, 15번째 .삭제
if(new_id.length()>15) {
new_id = new_id.substring(0,15).replaceAll("(\\.)$","");
}
// 7단계 아이디 길이가 2이하라면 마지막 문자를 길이가 3이 되도록 반복
while(new_id.length() < 3) {
new_id += new_id.charAt(new_id.length()-1);
}
answer = new_id;
return answer;
}
}