[알고리즘/프로그래머스] 72410. 신규 아이디 추천

jae_s_a·2022년 9월 27일
0

프로그래머스

목록 보기
22/26

문제

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


신규 아이디 추천

문제 설명

링크 참고


하나씩 조건을 따져가면서 하기엔 너무 고될것 같다는 생각에 [질문]에 있는 코드 중에 정규식만 있는 걸 읽어와서 구현했다.

만약, 정규식없이 풀었다면.... 정말 상상도 하기 싫다 :-(

https://school.programmers.co.kr/questions/33258


class Solution {
    public String solution(String new_id) {

        // step 1
        String ruleId = new_id.toLowerCase();

        // step 2
        ruleId = ruleId.replaceAll("[^a-z0-9-_.]", "");

        // step 3
        ruleId = ruleId.replaceAll("\\.{2,}", ".");

        // step 4
        ruleId = ruleId.replaceAll("^[.]|[.]$", "");

        // step 5
        if(ruleId.equals("")) {
            ruleId = "a";
        }
        System.out.println(ruleId);

        // step 6
        if(ruleId.length() >= 16) {
            ruleId = ruleId.substring(0,15);
            ruleId = ruleId.replaceAll("[.]$", "");
        }


        // step 7
        if(ruleId.length() < 3) {
            while (ruleId.length() < 3) {
                ruleId += ruleId.charAt(ruleId.length() - 1);
            }

        }

        System.out.println(ruleId);
        String answer = ruleId;
        return answer;
    }
}
profile
if not now, when

0개의 댓글