코테/프로그래머스
프로그래머스 신규 아이디 추천
65살까지 코딩
2022. 1. 15. 11:03
728x90
반응형
class Solution {
public String solution(String new_id) {
String answer = "";
//이문제는 그냥 주어진 로직따라 풀면 풀리는 문제
//따로 설명 X
//1단계
new_id = new_id.toLowerCase();
//2단계
String[] strings = {"~", "!", "@", "#", "\\$", "%", "\\^", "&", "\\*", "\\(", "\\)", "=", "\\+", "\\[", "\\{", "]", "}", ":", "\\?", ",", "<", ">", "/"};
for (int i = 0; i < strings.length; i++) {
new_id = new_id.replaceAll(strings[i], "");
}
//3단계
char[] chars = new_id.toCharArray();
for (int i = 0; i < chars.length-1; i++) {
if(chars[i] =='.' && chars[i+1] == '.'){
chars[i] = '!';
}
}
new_id ="";
for (char aChar : chars) {
if(aChar != '!'){
new_id += aChar +"";
}
}
//4단계
if(new_id.charAt(0) =='.'){
new_id = new_id.substring(1);
}
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.equals("")){
new_id ="a";
}
//6단계
if(new_id.length() >=16){
new_id = new_id.substring(0,15);
if(new_id.charAt(new_id.length()-1) =='.'){
new_id = new_id.substring(0,new_id.length()-1);
}
}
//7단계
while(new_id.length()<=2){
new_id += new_id.charAt(new_id.length()-1)+"";
}
answer = new_id;
return answer;
}
}
출처: https://programmers.co.kr/learn/courses/30/lessons/72410
코딩테스트 연습 - 신규 아이디 추천
카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로
programmers.co.kr
728x90
반응형