[프로그래머스] Lv. 1 신규 아이디 추천(Java)
by rowing0328https://school.programmers.co.kr/learn/courses/30/lessons/72410
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
정답 코드
class Solution {
public String solution(String newId) {
newId = newId.toLowerCase();
newId = newId.replaceAll("[^a-z0-9\\-_.]", "");
newId = newId.replaceAll("\\.+", ".");
newId = newId.replaceAll("^\\.|\\.$", "");
if (newId.isEmpty()) newId = "a";
if (newId.length() >= 16) {
newId = newId.substring(0, 15);
newId = newId.replaceAll("\\.$", "");
}
while (newId.length() < 3) {
newId += newId.charAt(newId.length() - 1);
}
return newId;
}
}
설명
- 모든 대문자를 소문자로 변환
- 허용된 문자 이외 제거
- 연속된 마침표(.)를 하나로 변경
- 문자열 앞위의 마침표 제거
- 빈 문자열일 경우 "a"로 대체
- 문자열 길이 조정 (최대 15자)
- 문자열 길이 조정 (최소 3자)
실행 결과
참고 자료 :
취업과 이직을 위한 프로그래머스 코딩 테스트 문제 풀이 전략 : 자바 편 | 김현이
프로그래머스 코딩 테스트 문제 풀이 전략: 자바 편 | 김현이 - 교보문고
프로그래머스 코딩 테스트 문제 풀이 전략: 자바 편 | 핵심 개념, 프로그래머스에서 선별한 79개 문제 풀이, PCCP 대비까지! 합격에 한 걸음 더 가까워지는 실전형 코딩 테스트 문제 풀이 가이드개
product.kyobobook.co.kr
'🏅Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] Lv. 2 쿼드압축 후 개수 세기(Java) (0) | 2025.02.10 |
---|---|
[프로그래머스] Lv. 2 이진 변환 반복하기(Java) (0) | 2025.02.03 |
[프로그래머스] Lv. 1 문자열 다루기 기본(Java) (2) | 2025.02.03 |
[프로그래머스] Lv. 1 숫자 문자열과 영단어(Java) (0) | 2025.02.03 |
[프로그래머스] Lv. 1 문자열 내 p와 y의 개수(Java) (0) | 2025.02.03 |
블로그의 정보
코드의 여백
rowing0328