- 문제 해결:
문제에서 주어진 단계를 그대로 따라가면 된다.
각 단계에서 어떻게 주어진 방식대로 바꿀수 있을까만 잘 생각하면 된다.
import java.lang.Character;
class Solution {
public String solution(String aid) {
aid = aid.toLowerCase();
char [] id = aid.toCharArray();
for(int i=0;i<id.length;i++){
if(!(id[i]=='.' || id[i]=='-' || id[i]=='_' || (id[i]>=48&&id[i]<=57) || Character.isLowerCase(id[i]))){
id[i]=' ';
}
}
String step2 = String.valueOf(id);
String step3 = step2.replace(" ","");
StringBuilder sb = new StringBuilder();
for(int i=0;i<step3.length();i++){
if(!(step3.length()-1==i)&&
step3.charAt(i)=='.'&&step3.charAt(i+1)=='.'){
continue;
}else{
sb.append(step3.charAt(i));
}
}
String step4 = new String(sb.toString());
StringBuilder sb2 = new StringBuilder();
for(int i=0;i<step4.length();i++){
if(i==0&&step4.charAt(i)=='.') continue;
else if(i==(step4.length()-1) &&
step4.charAt(i)=='.') {continue;}
else sb2.append(step4.charAt(i));
}
String step5 = new String(sb2.toString());
if(step5.length()==0){
step5 = "a";
}
if(step5.length()>=16){
step5 = step5.substring(0,15);
}
if(step5.charAt(step5.length()-1)=='.'){
step5 = step5.substring(0,step5.length()-1);
}
if(step5.length()==1){
step5+=step5.charAt(step5.length()-1);
step5+=step5.charAt(step5.length()-1);
} else if(step5.length()==2){
step5+=step5.charAt(step5.length()-1);
}
return step5;
}
}