본문 바로가기
Java

[JAVA 프로그래머스] LV.1/신규아이디 추천

by Meaning_ 2022. 3. 19.
728x90
반응형

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

 

코딩테스트 연습 - 신규 아이디 추천

카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로

programmers.co.kr

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
class Solution {
    public static String solution(String new_id) {
        String answer = "";
        answer=answer = new_id.toLowerCase();
        answer=answer.replaceAll("[^-_.a-z0-9]"""); // ^가 선행하면 not
        answer=answer.replaceAll("[.]{2,}"".");
 
        answer=answer.replaceAll("^[.]|[.]$"""); // ^[.].으로 시작하는지
 
        if (answer.equals("")) {
            answer+="a";
        }
        if (answer.length() >= 16) {
            answer = answer.substring(015);
        }
        answer = answer.replaceAll("[.]$""");
 
        if (answer.length() <= 2) {
            while (answer.length() != 3) {
                answer += answer.charAt(answer.length() - 1);
            }
        }
 
        return answer;
    }
}
cs

 

 

정규표현식이라는 방법으로 풀 수 있었다. 나는 조건문을 가지고 풀었는데 이러면 메모리 초과가 난다.그리고 문자열을 합칠때 concat을 사용해줬는데 런타임에러가 떠서 연산자로 바꿨다. 왜 에러가 뜨는진 나도 모르겠다..ㅜㅜ 더 찾아봐야 할듯 

아무튼 정규표현식은 은 유효성 검사 코드 작성 시 정말 효율적인 방법이라는 생각이 들었다. 관련 자료를 더 찾아봤다..! 

 

https://codechacha.com/ko/java-regex/

 

Java - 정규표현식(regex), 다양한 예제로 쉽게 이해하기

정규표현식(Regular expressions), Regex는 문자열에서 어떤 패턴을 찾는데 도움을 줍니다. Regex의 Metacharacters, Quantifiers, Grouping에 대해서 정리하였고 다양한 예제로 설명합니다. Regex는 대부분 알고 있지

codechacha.com

https://coding-factory.tistory.com/529

 

[Java] 자바 정규 표현식 (Pattern, Matcher) 사용법 & 예제

정규표현식(Regular Expression)이란 컴퓨터 과학의 정규언어로부터 유래한 것으로 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 형식언어 입니다. 개발을 하다보면 전화번호, 주민등

coding-factory.tistory.com

https://velog.io/@hammii/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%8B%A0%EA%B7%9C-%EC%95%84%EC%9D%B4%EB%94%94-%EC%B6%94%EC%B2%9C-java-2021-KAKAO-BLIND-RECRUITMENT

 

728x90
반응형

댓글