https://programmers.co.kr/learn/courses/30/lessons/72410
class Solution {
public String solution(String new_id) {
String answer = "";
String answer2 = "";
//1 소문자
answer = new_id.toLowerCase();
//2 문자 제거
for(int i=0;i<answer.length();i++){
char ch = answer.charAt(i);
if(Character.isLowerCase(ch)){
answer2+=ch;
}else if(Character.isDigit(ch)){
answer2+=ch;
}else if(Character.compare(ch, '-')==0){
answer2+=ch;
}else if(Character.compare(ch, '_')==0){
answer2+=ch;
}else if(Character.compare(ch, '.')==0){
answer2+=ch;
}else{
continue;
}
}
answer=answer2;
//3 연속 '.' 제거
answer=answer.replaceAll("[.]{2,}", ".");
//4 처음, 끝 '.' 제거
if(answer.startsWith(".")){
answer=answer.substring(1,answer.length());
}
if(answer.endsWith(".")){
answer=answer.substring(0,answer.length()-1);
}
//5 빈 문자열일때 'a'대입
if(answer.equals("")){
answer="a";
}
//6 16길이 이상일때 제한
if(answer.length()>=16){
answer=answer.substring(0,15);
if(answer.endsWith(".")){
answer=answer.substring(0,answer.length()-1);
}
}
//7 길이가 2 이하일 때
if(answer.length()<=2){
for(int j=answer.length()-1;j<2;j++){
answer+=answer.charAt(j);
}
}
return answer;
}
}
'알고리즘 > 문제 풀이' 카테고리의 다른 글
[Java] 프로그래머스 > 완주하지 못한 선수 (0) | 2021.07.15 |
---|---|
[Java] 프로그래머스> 코딩테스트 연습> 정렬> K번째수 (0) | 2021.07.12 |
[python] 백준 2750번 수 정렬하기 (0) | 2021.05.04 |
[Java] 백준 9095번 1, 2, 3 더하기 (0) | 2020.06.24 |
[Java] 백준 1904번 01타일 (0) | 2020.06.05 |
댓글