알고리즘/프로그래머스(Programmers)
[프로그래머스][2021 KAKAO BLIND RECRUITMENT][자바] 신규 아이디
NineOne
2021. 4. 22. 21:25
programmers.co.kr/learn/courses/30/lessons/72410?language=java
코딩테스트 연습 - 신규 아이디 추천
카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로
programmers.co.kr
class Solution {
public String solution(String new_id) {
// 1단계
new_id = new_id.toLowerCase();
// 2단계
new_id = new_id.replaceAll("[^0-9a-z-_.]","");
// 3단계
while(true){
if(!new_id.contains("..")) break;
new_id = new_id.replace("..",".");
}
// 4단계
if(new_id.length() !=0 && new_id.charAt(0) == '.') new_id = new_id.substring(1, new_id.length());
if(new_id.length() !=0 && new_id.charAt(new_id.length()-1) == '.') new_id = new_id.substring(0,new_id.length()-1);
// 5단계
if(new_id.length() == 0 ) new_id = "a";
// 6단계
if(new_id.length() > 15) new_id = new_id.substring(0, 15);
if(new_id.length() !=0 && new_id.charAt(new_id.length()-1) == '.') new_id = new_id.substring(0,new_id.length()-1);
// 7단계
while(new_id.length() <3){
if(new_id.length() == 3) break;
new_id += new_id.charAt(new_id.length()-1);
}
return new_id;
}
}