문제 설명
내 코드
class Solution {
public String solution(String new_id) {
String answer = "";
new_id = new_id.toLowerCase();
for(int i=0; i<new_id.length();i++) {
if((97<=(int)new_id.charAt(i) && (int)new_id.charAt(i)<123) ||
(int)new_id.charAt(i) == 45 ||
(int)new_id.charAt(i) == 46 ||
(int)new_id.charAt(i) == 95||
(48<=(int)new_id.charAt(i) && (int)new_id.charAt(i)<58)) {
if(new_id.substring(i,i+1).equals(".") &&
(i!=0 ||new_id.length()-1 != i)){
if(answer.length()!=0 &&
answer.substring(answer.length()-1).equals(".")==false){
answer+=new_id.charAt(i);
}
}
else{
answer+=new_id.charAt(i);
}
}
}
if(answer.length()>0 && answer.substring(answer.length()-1).equals(".")){
answer = answer.substring(0,answer.length()-1);
}
if(answer.length()>=16){
if(answer.substring(14,15).equals(".")){
answer = answer.substring(0,14);
}else{
answer = answer.substring(0,15);
}
}else if(answer.length()<=2){
while(answer.length()!=3){
if(answer.length()!=0){
answer+=answer.substring(answer.length()-1);
}else{
answer+="a";
}
}
}
return answer;
}
}
근데 replaceAll을 사용하면 간단히 풀 수 있음
후.....
# replaceAll....?
- 보면 알겠지만 regex 라는 위치에 내가 바꾸고 싶은 값을, replacement에 대체할 값을 넣는다.
- 아래에 사진을 넣을거지만 regex라는 위치에 "정규 표현식(Regular Expression)"을 사용할 수 있는데, 사실 정규 표현식을 regex라고도 한다.
가장 많이 사용되는 정규 표현식. 그리고 나도 좀 익숙해지는게 좋을...
반응형
'끄적 > Java_CT' 카테고리의 다른 글
[자바 코테]백준 1756번 피자굽기 (0) | 2022.03.12 |
---|---|
[자바 코테] startsWith / 람다식 사용하기 (0) | 2021.11.21 |
[자바 코테] Math.max/min 활용하기 (0) | 2021.09.28 |
[자바 코테] matches 활용 (0) | 2021.08.31 |
자바 코테 HashMap 활용 (0) | 2021.07.13 |
댓글