-
PROGRAMMERES Level 1 2021 KAKAO BLIND RECRUITMENT 신규 아이디 추천 JAVAPROGRAMMERS/KAKAO 2022. 7. 21. 17:38
import java.util.*; class Solution { public String solution(String new_id) { //1 String answer = new_id.toLowerCase(); //2 answer = answer.replaceAll("[^-_.a-z0-9]",""); //3 answer = answer.replaceAll("[.]{2,}","."); //4 answer = answer.replaceAll("^[.]|[.]$",""); //5 if(answer.equals("")){ answer += "a"; } //6 if(answer.length()>=16) { answer = answer.substring(0,15); answer = answer.replaceAll("[.]$",""); } //7 if(answer.length()<=2){ while (answer.length() < 3) { answer += answer.charAt(answer.length()-1); } } return answer; } }
정규식의 중요성
.toLowerCase() -> 소문자로 바꿔줌
replaceAll("정규식","변환할 문자값")
.replaceAll("[^-_.a-z0-9]","")
^ -> 문자열의 시작을 의미, [] 내에 존재하면 NOT을 의미, 따라서 안에있는 것들 제외하고 공백으로 replace
.replaceAll("[.]{2,}",".");
{2,} -> 2회 이상
.replaceAll("^[.]|[.]$","");
^[.] -> .으로 문자열의 시작
| > or연산으로 처음이나 끝을 의미
[.]& -> .으로 끝맺음을 의미
.equals() -> == 는 주소를 비교하지만 equals()는 자체를 비교
.substring(0,15)-> 0~14까지만 사용
.substring(3) -> 0~2는 짜르고 3~부터 끝까지 사용
.replaceAll("[.]$","");
[.]$ -> 문자열의 마지막 [.]을 공백으로 replace
참조
'PROGRAMMERS > KAKAO' 카테고리의 다른 글
PROGRAMMERES Level 1 2018 KAKAO BLIND RECRUITMENT [1차] 비밀지도 (JAVA 자바) (0) 2022.08.20 PROGRAMMERES Level 1 2022 KAKAO TECH INTERNSHIP 성격 유형 검사하기 (JAVA 자바) (0) 2022.08.19 PROGRAMMERES Level 1 2019 카카오 개발자 겨울 인턴십 JAVA (0) 2022.07.21 PROGRAMMERES Level 1 2020 카카오 인턴십 키패드 누르기 JAVA (0) 2022.07.21 PROGRAMMERES Level 1 2021 카카오 채용연계형 인턴십 숫자 문자열과 영단어 JAVA (0) 2022.07.21