https://programmers.co.kr/learn/courses/30/lessons/72410
코딩테스트 연습 - 신규 아이디 추천
카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로
programmers.co.kr
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 |
댓글