ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Level1) 신규아이디추천
    PS/programmers 2021. 4. 29. 11:44
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    /*
        1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다.
        2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다.
        3단계 new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다.
        4단계 new_id에서 마침표(.)가 처음이나 끝에 위치한다면 제거합니다.
        5단계 new_id가 빈 문자열이라면, new_id에 "a"를 대입합니다.
        6단계 new_id의 길이가 16자 이상이면, new_id의 첫 15개의 문자를 제외한 나머지 문자들을 모두 제거합니다.
             만약 제거 후 마침표(.)가 new_id의 끝에 위치한다면 끝에 위치한 마침표(.) 문자를 제거합니다.
        7단계 new_id의 길이가 2자 이하라면, new_id의 마지막 문자를 new_id의 길이가 3이 될 때까지 반복해서 끝에 붙입니다.
     */
     
    public class Level1_신규아이디추천 {
        public static String solution(String id) {
            // 1
            id = id.toLowerCase();
     
            // 2
            id = id.replaceAll("[^a-z0-9-_.]""");
     
            // 3
            id = id.replaceAll("\\.{2,}"".");
     
            // 4
            if (id.startsWith(".")) {
                id = id.substring(1);
            }
            if (id.endsWith(".")) {
                id = id.substring(0, id.length() - 1);
            }
     
            // 5
            if (id.isEmpty()) {
                id = "a";
            }
     
            // 6
            if (id.length() >= 16) {
                id = id.substring(015);
                if (id.endsWith(".")) {
                    id = id.substring(0, id.length() - 1);
                }
            }
     
            // 7
            if (id.length() <= 2) {
                while (id.length() < 3) {
                    id += id.charAt(id.length() - 1);
                }
            }
     
            return id;
        }
     
        public static void main(String[] args) {
            String new_id = "...!@BaT#*..y.abcdefghijklm";
            System.out.println(solution(new_id));
        }
    }
     
    cs

    'PS > programmers' 카테고리의 다른 글

    Level1) 폰켓몬  (0) 2021.05.01
    Level1) 소수구하기  (0) 2021.04.30
    Level1) 3진법 뒤집기  (0) 2021.04.28
    Level1) 키패드 누르기  (0) 2021.04.27
    Level1) 다트게임  (0) 2021.04.27
킹수빈닷컴