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

말하는 감자·2022년 6월 23일
0

Programmers Level 1

목록 보기
21/66
post-thumbnail

프로그래머스 Level 1

🔒 문자열 다루기 기본

📚 문제 설명

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


✅ 제한 사항

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

📖 입출력 예

sreturn
"a234"false
"1234"true

🔑 작성 코드

class Solution {
    public boolean solution(String s) {
        boolean answer = true;
        
        String p1 = "\\d{4}|{6}";
        
        if(!s.matches(p1)) answer = false;
        
        return answer;
    }
}

정규표현식을 이용해 숫자로만 이루어지고 길이가 4 혹은 6인지 확인한다.


🔓 다른 사람의 코드

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

아... 먼저 길이가 4 아님 6인지를 확인한 후에
정수형으로 바꿀 수 있다면 true
정수형으로 바꿨을 때 오류가 난다면 false를 반환한다.

이런방법도 있다니...
생각도 못해봤다.


😗 느낀 점

감자는 문제를 보자마자 정규표현식을 생각했는데
색다른 방법도 알게되니 신기하고 재밌다.

그나저나 정규표현식 쓸 때마다 검색해야해서 별로 반갑지 않다...😥

profile
나는 말하는 감자다

0개의 댓글