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

Stella·2021년 12월 1일
0

Coding Test

목록 보기
2/48

문제링크: https://programmers.co.kr/learn/courses/30/lessons/12918

문자열 다루기 기본

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

제한 사항
s는 길이 1 이상, 길이 8 이하인 문자열입니다.

Solution 1

public boolean solution(String s) {
	boolean answer = false;
	String pattern = "^[0-9]*$"; //숫자만 포함
        if(s.length()==6 || s.length()==4){ // 길이가 4인지 6인지 확인
          answer = Pattern.matches(pattern,s);//패턴과 매치되는지 확인
        }
        return answer;
    }

문제풀이는 길이가 4인지 6인지 먼저 확인하고, 맞으면 정규식을 통해 숫자만 포함 되어있는지 확인하는 방식으로 해결.

Solution 2

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

정규식을 통해 길이까지 체크하면 코드 한줄로 해결가능.

Solution 3

public boolean solution2(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;
	  }

먼저 길이를 체크하고, try-catch를 이용해서 이 문자열을 int로 바꿀 수 있는지 확인, 문자가 포함되어있다면 exception에서 catch.

profile
Hello!

0개의 댓글