문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/70128


제한 사항

입출력 예



풀이
class Solution {
public String solution(String new_id) {
new_id = new_id.toLowerCase()
.replaceAll("[^\\w\\-\\.]", "")
.replaceAll("\\.+", ".")
.replaceAll("^\\.", "")
.replaceAll("\\.$", "")
.replaceAll("^$", "a");
if (new_id.length() >= 16) {
new_id = new_id.substring(0, 15);
new_id = new_id.replaceAll("\\.$", "");
}
else if (new_id.length() <= 2)
new_id += String.valueOf(new_id.charAt(new_id.length() - 1))
.repeat(3 - new_id.length());
return new_id;
}
}
후기
정규 표현식을 잘 다루면 풀기 쉬운 문제이지만... 나는 잘 몰라서 솔직히 인터넷 찾아봤다... 전에도 정규 표현식을 이용한 문제가 있었는데 그 이후로 조금 보긴했는데 아무래도 집중적으로 공부한 것이 아니다보니 전부 머릿속에 들어오지는 않았다ㅠㅠ 조금씩이라도 자주 봐야겠다.
'코딩테스트 (프로그래머스) > Java' 카테고리의 다른 글
| [프로그래머스][JAVA][Lv. 1] 숫자 문자열과 영단어 (0) | 2023.07.09 |
|---|---|
| [프로그래머스][JAVA][Lv. 1] 내적 (0) | 2023.07.09 |
| [프로그래머스][JAVA][Lv. 1] 최소직사각형 (0) | 2023.07.07 |
| [프로그래머스][JAVA][Lv. 1] 나머지가 1이 되는 수 찾기 (0) | 2023.07.07 |
| [프로그래머스][JAVA][Lv. 1] 신고 결과 받기 (0) | 2023.07.07 |