[프로그래머스] 신규 아이디 추천

JOY·2021년 8월 5일
0

[CodingTest] Java

목록 보기
1/61
post-thumbnail

프로그래머스 코딩테스트연습
2021 KAKAO BLIND RECRUITMENT 신규 아이디 추천
난이도 Level1

🙂 문제

https://programmers.co.kr/learn/courses/30/lessons/72410

😀 풀이

class Solution {
    public String solution(String new_id) {
          String answer;
        
        // 1단계
        String step1 = new_id.toLowerCase();

        // 2단계
        char[] step1_arr = step1.toCharArray();
        StringBuilder step2 = new StringBuilder();
        for (char c : step1_arr) {
            if ((c >= 'a' && c <= 'z') || (c >= '0' && c <= '9') || c == '-' || c == '_' || c == '.') {
                step2.append(c);
            }
        }

        // 3단계
        String step3 = step2.toString().replace("..", ".");
        while (step3.contains("..")) {
            step3 = step3.replace("..", ".");
        }

        // 4단계
        String step4 = step3;
        if (step4.length() > 0) {
            if (step4.charAt(0) == '.') {
                step4 = step4.substring(1, step4.length());
            }
        }
        if (step4.length() > 0) {
            if (step4.charAt(step4.length() - 1) == '.') {
                step4 = step4.substring(0, step4.length() - 1);
            }
        }
        
        //5단계
        String step5 = step4;
        if(step5.equals("")){
            step5 = "a";
        }
        
        
        //6단계
        String step6 = step5;
        if (step6.length() >= 16) {
            step6 = step6.substring(0, 15);
            
             if (step6.charAt(step6.length() - 1) == '.') {
                step6 = step6.substring(0, step6.length() - 1);
            }
        }
        
        //7단계
        StringBuilder step7 = new StringBuilder(step6);
        if (step7.length() <= 2){
            char end = step7.charAt(step7.length() - 1);
            
            
            while (step7.length() < 3) {
                step7.append(end);
            }
            
        }

        answer = String.valueOf(step7);
        return answer;
    }
}

🙏 정리

정말 취업을 준비하기 위하여 떨어진 코딩의 감을 되찾기 위해 찾은 코딩테스트
코딩 선배님들의 리뷰와 전공책을 공부하며 풀었다.
이렇게 많이 부족해졌구나 문제를 풀면서 뼈저리게 부족한 부분들을 느꼈다
다시 공부하며 열정도 되찾고 개발자가 되기위해 단단하게 다지며 걸어가는 내가 되기를 바란다.

그래도 지나가는 길에 프로그래밍이 눈에 띄면 지나치지 못하는 걸 보니
나 코딩 하는거 좋아하나보다 분명해!

profile
Just Do IT ------- 🏃‍♀️

0개의 댓글

관련 채용 정보