코딩 테스트라기 보다는 정규표현식 테스트
https://programmers.co.kr/learn/courses/30/lessons/72410
class Solution {
public String solution(String new_id) {
int minIdLength = 3;
int maxIdLength = 15;
//[^a-z\\d\\-_.]* 영어 숫자 문자
String answer = "";
answer = level1(new_id);
answer = level2(answer);
answer = level3(answer);
answer = level4(answer);
answer = level5(answer);
answer = level6(answer);
answer = level7(answer);
return answer;
}
public String level1(String id){
String result = id.toLowerCase();
return result;
}
public String level2(String id){
String result = id.replaceAll("[^a-z\\d\\-_.]*", "");
return result;
}
public String level3(String id){
String result = id.replaceAll("\\.{2,}", ".");
return result;
}
public String level4(String id){
String result = id.replaceAll("^[.]|[.]$", "");
return result;
}
public String level5(String id){
String result = "a";
if(id.length() == 0) return result;
else result = id;
return result;
}
public String level6(String id){
if (id.length() >= 16) {
id = id.substring(0, 15);
}
String result = id.replaceAll("[.]$", "");
return result;
}
public String level7(String id){
while(id.length() < 3){
int length = id.length();
id = id + id.charAt(length-1);
}
return id;
}
}
'교육 > 코테' 카테고리의 다른 글
[프로그래머스]JS 없는 숫자 더하기 (0) | 2022.05.19 |
---|---|
[프로그래머스]JS 크레인 인형뽑기 게임 (0) | 2022.05.19 |
[프로그래머스]JS 키패드 누르기 (0) | 2022.05.18 |
[프로그래머스]JS 숫자문자열과 영단어 (0) | 2022.05.18 |
[프로그래머스]JAVA 로또의 최고 순위와 최저 순위 (0) | 2022.05.13 |