레벨 1
https://programmers.co.kr/learn/courses/30/lessons/72410
이 문제는 문자열 문제이다.
replaceAll으로 정규식을 이용해 풀어야했다.
정규식을 검색해서 풀었지만 안보고 정규식을 직접 써서 풀어야했다면 어려웠을 것 같다.
정규식 사용법을 미리 익혀두자!
class Solution {
public String solution(String new_id) {
String answer = "";
answer = new_id.toLowerCase();
answer = answer.replaceAll("[^-_.a-z0-9]",""); // 2단계
answer = answer.replaceAll("[.]{2,}","."); //3단계
answer = answer.replaceAll("^[.]|[.]$",""); // 4단계
if(answer.equals("")){
answer+="a";
}
if(answer.length()>=16){
answer = answer.substring(0,15);
answer = answer.replaceAll("[.]$","");
}
if(answer.length()<=2){
while(answer.length()<3){
answer+=answer.charAt(answer.length()-1);
}
}
return answer;
}
}
https://velog.io/@minji/Java-%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9DString.replaceAll-%EB%A9%94%EC%84%9C%EB%93%9C%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%B9%98%ED%99%98
https://regexr.com/
https://pink-rabbit.tistory.com/9