[JAVA] 프로그래머스 Lv.1 문자열 다루기 기본 - 다른 풀이

2020. 10. 19. 19:42
728x90

class Solution {

    public boolean solution(String s) {

        if(s.length() == 4 || s.length() == 6){

            try{

                int x = Integer.parseInt(s);  // s를 int로 변환.

                return true;                     //  변환이 성공하면 true를 반환. 변환 실패하면 예외 발생.

            } catch(NumberFormatException e){   // 숫자가 아닌 형을 변형했을 때 발생하는 오류.

                return false;       // 숫자가 아니기 때문에 false 반환.

            }

        } else{

            return false;    // s의 길이가 4 또는 6이 아닐 때 false.

        }

    }

}

 

 

================================================================

 

*정규표현식*

특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 형식언어

-숫자 : ^[0-9]*$

-영문자 : 영문자

-한글 : ^[가-힣]*$

-e-mail : \\w+@\\w+\\.\\w+(\\.\\w+)?

-전화번호 : ^\d{2,3}-\d{3,4}-\d{4}$

-휴대전화번호 : ^01(?:0|1|[6-9])-(?:\d{3}|\d{4})-\d{4}$

-주민등록번호 : \d{6} \- [1-4]\d{6}

-우편번호 : ^\d{3}-\d{2}$

 

 

import java.util.*;

 

class Solution {

    public boolean solution(String s) {

        if (s.length() == 4 || s.length() == 6)

            return s.matches("(^[0-9]*$)");      // 정규표현식을 사용하여 0 ~ 9 사이면 true 반환

        return false;       

    }

}

728x90

BELATED ARTICLES

more