본문 바로가기
끄적/Java_CT

자바 코테 replaceAll 활용

by 밀키스 2021. 7. 9.

 문제 설명 

 

 

 

 

 


 

 내 코드 

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....? 

  1. 보면 알겠지만 regex 라는 위치에 내가 바꾸고 싶은 값을, replacement에 대체할 값을 넣는다.
  2. 아래에 사진을 넣을거지만 regex라는 위치에 "정규 표현식(Regular Expression)"을  사용할 수 있는데, 사실 정규 표현식을 regex라고도 한다.

출처: https://medium.com/depayse/java-%EC%A0%95%EA%B7%9C-%ED%91%9C%ED%98%84%EC%8B%9D-regular-expression-%EC%9D%98-%EC%9D%B4%ED%95%B4-31419561e4eb

 

가장 많이 사용되는 정규 표현식. 그리고 나도 좀 익숙해지는게 좋을...

반응형

댓글