본문 바로가기
코딩테스트

[프로그래머스] 2021 KAKAO BLIND RECRUITMENT 신규 아이디 추천 (사용언어 : JAVA)

by 김토끼A 2021. 8. 10.
class Solution {
    public String solution(String new_id) {
        String answer = "";
		
		char [] c = new_id.toLowerCase().toCharArray();
		
		char bef = ' ';
		for(int i = 0; i < new_id.length(); i ++){
			char temp = c[i];
			
			if(temp == '.' && temp == bef) continue;
			if(temp == '.' && bef == ' ') continue;
			else if (!Character.isLowerCase(c[i]) && !Character.isDigit(c[i]) 
					&& c[i] != '.' && c[i] != '-' && c[i] != '_') continue;
			
			bef = temp;
			answer = answer + Character.toString(temp);
		}
		
		if(answer.equals("") || answer.equals(".")){
			answer = "aaa";
		}else{
			if(answer.length() > 15){
				answer = answer.substring(0, 15);
				
				if(answer.substring(14, 15).equals(".")) {
					answer = answer.substring(0, 14);
				}else {
					answer = answer.substring(0, 15);
				}
			}
			
			if(answer.substring(answer.length()-1, answer.length()).equals(".")){
				answer = answer.substring(0, answer.length()-1);
			}
			
			if(answer.length() < 3){
				String temp = answer.substring(answer.length() - 1);
				
				for(int j = 0; j < 4 - answer.length(); j ++) {
					answer = answer + temp;
				}
			}
		}
        return answer;
    }
}

댓글