https://school.programmers.co.kr/learn/courses/30/lessons/72410
1. JAVA의 문자열 String, Array, StringBuilder 객체와 함수들을 연습해볼 수 있는 문제
+ 정규표현식까지
2. 정규표현식 사용하지 않은 코드
class Solution {
public String makeA(String a){
if(a.length() == 0)
return "a";
else
return a;
}
public String solution(String new_id) {
String answer = "";
String s1 = new_id.toLowerCase();
char[] s1arr = s1.toCharArray();
StringBuilder s2 = new StringBuilder();
for(char c : s1arr){
if(c == '-' || c == '_' || c == '.'
|| (c>='0'&&c<='9') || (c>='a'&&c<='z')){
s2.append(c);
}
}
String s3 = s2.toString();
while(s3.contains("..")){
s3 = s3.replace("..", ".");
}
if(s3.charAt(0)=='.')
s3 = s3.substring(1, s3.length());
if(s3.length()>0 && s3.charAt(s3.length()-1)=='.')
s3 = s3.substring(0, s3.length()-1);
String s4 = makeA(s3);
if(s4.length()>=16){
s4 = s4.substring(0, 15);
if(s4.charAt(14)=='.')
answer = s4.substring(0,14);
else
answer = s4;
}
else if(s4.length()<=2){
StringBuilder s5 = new StringBuilder();
for(char c : s4.toCharArray()){
s5.append(c);
}
while(s5.length()<3){
s5.append(s4.charAt(s4.length()-1));
}
answer = s5.toString();
}
else{
answer = s4;
}
return answer;
}
}
3. 정규표현식
'알고리즘 > 알고리즘' 카테고리의 다른 글
[JAVA] 프로그래머스 : 뉴스 클러스터링 (0) | 2022.08.05 |
---|---|
[JAVA] 프로그래머스 : 행렬 테두리 회전하기 (0) | 2022.08.02 |
[JAVA] 프로그래머스 : 로또의 최고 순위와 최저 순위 (0) | 2022.08.01 |
[JAVA] 프로그래머스 : 신고 결과 받기 (0) | 2022.07.31 |
[C++] 프로그래머스 : 메뉴 리뉴얼 (0) | 2022.06.11 |