📘 문제
https://programmers.co.kr/learn/courses/30/lessons/72410
💡 풀이
💻 코드
class Solution {
public String solution(String new_id) {
String answer = "";
// 1단계
// 소문자 치환
answer = new_id.toLowerCase();
// 2단계
// 소문자, 숫자, -, _ , . 만 사용 가능
String tmpAnswer = answer;
for(int i = 0; i < tmpAnswer.length(); i++){
char tmp = tmpAnswer.charAt(i);
if(Character.isLowerCase(tmp)||Character.isDigit(tmp)|| tmp=='-'|| tmp=='.'||tmp=='_') continue;
answer = answer.replace(String.valueOf(tmp),"");
}
// 3단계
while(true){
if(!answer.contains("..")) break;
answer = answer.replace("..",".");
}
// 4단계
if(answer.length()>0 && answer.charAt(0)=='.') answer = answer.substring(1);
if(answer.length()>0 && answer.charAt(answer.length()-1)=='.') answer = answer.substring(0,answer.length()-1);
// 5단계
if(answer.isEmpty()) answer+="a";
// 6단계
if(answer.length()>=16) answer = answer.substring(0,15);
if(answer.charAt(answer.length()-1)=='.') answer = answer.substring(0,answer.length()-1);
// 7단계
if(answer.length()<=2){
while(true){
if(answer.length()==3) break;
answer+=String.valueOf(answer.charAt(answer.length()-1));
}
}
return answer;
}
}
😂 아쉬운 점
결과