[프로그래머스] 문자열 다루기 기본(자바)

지수·2021년 7월 27일
0
post-thumbnail

👩‍🏫 문제

[프로그래머스] 문자열 다루기 기본

문제 설명

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

제한 사항

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.

입출력 예

sreturn
"a234"false
"1234"true

👩‍💻 풀이

class Solution {
    public static boolean solution(String s) {
        if(s.length() == 4 || s.length() == 6) {
            try{
                int num = Integer.parseInt(s);
                return true;
            }catch(NumberFormatException e) {
                return false;
            }
        }
        return false;
    }
}

💭 학습

  • 예외 처리코드(Try Catch)
    try{ 에러가 발생할 수 있는 코드 }
    catch(예외) { 에러시 수행되는 코드 }
    finally{ (에러 발생과 무관하게)무조건 수행되는 코드 }

    다른 문제 풀 때 Integer.parseInt()를 하도 많이 써서 바로 예외 처리 구문 돌려서 풀 생각부터 났는데, 프로그래머스 다른 사람 풀이 최상단에 유사한 풀이 방식이 올라와 있어서 뿌듯했다! 신기해~ 🤓🤓🤓

  • 정규표현식을 사용해서 숫자로만 구성된 문자열인지 확인
  • 추가적으로, 정규표현식으로 길이 검사도 가능하다는 내용 확인!

▼ 위의 정규표현식 활용 코드를 디벨롭 한 결과!

class Solution {
    public boolean solution(String s) {
        return s.matches("(^[0-9]{4}|{6}$)");
    }
}

정규표현식으로 깔끔한 한 줄 코딩이 완성되었다!
파이썬 수업 들을 때 정규표현식에 대해 다시 배웠었는데,
역시 써버릇해야 내 것이 되는 것 같다.
앞으로 정규표현식을 잊지말고 적용해봐야겠다!

참고 자료

profile
사부작 사부작

0개의 댓글