본문 바로가기
코딩테스트 연습/JAVA

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

by 홍차23 2020. 2. 25.

문제설명>

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

 

제한 사항

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

코드>

class Solution {
  public boolean solution(String s) {
      boolean answer = true;
      char tmp;
      if(s.length() == 4 || s.length() == 6){ //문자열의 길이가 4 또는 6인지 체크
          for(int i=0;i<s.length();i++){
              tmp = s.charAt(i); //charAt()메소드를 활용해서 문자열을 읽는다
              if(Character.isDigit(tmp) == false) answer = false; //숫자인지 체크
          }
      } else answer = false;
      return answer;
  }
}

리뷰>

- 배열이 아닌 문자열이므로 length() 사용하기

 

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;
    }
}
class Solution {
  public boolean solution(String s) {
    return (s.length() != 4 && s.length() != 6) || (s.split("[0-9]").length > 0) ? false:true;
  }
}

댓글