https://school.programmers.co.kr/learn/courses/30/lessons/72410
문제 설명
하나씩 조건을 따져가면서 하기엔 너무 고될것 같다는 생각에 [질문]에 있는 코드 중에 정규식만 있는 걸 읽어와서 구현했다.
만약, 정규식없이 풀었다면.... 정말 상상도 하기 싫다 :-(
https://school.programmers.co.kr/questions/33258
class Solution {
public String solution(String new_id) {
// step 1
String ruleId = new_id.toLowerCase();
// step 2
ruleId = ruleId.replaceAll("[^a-z0-9-_.]", "");
// step 3
ruleId = ruleId.replaceAll("\\.{2,}", ".");
// step 4
ruleId = ruleId.replaceAll("^[.]|[.]$", "");
// step 5
if(ruleId.equals("")) {
ruleId = "a";
}
System.out.println(ruleId);
// step 6
if(ruleId.length() >= 16) {
ruleId = ruleId.substring(0,15);
ruleId = ruleId.replaceAll("[.]$", "");
}
// step 7
if(ruleId.length() < 3) {
while (ruleId.length() < 3) {
ruleId += ruleId.charAt(ruleId.length() - 1);
}
}
System.out.println(ruleId);
String answer = ruleId;
return answer;
}
}