알고리즘 : 프로그래머스 : JAVA : 문자열 다루기 기본

2022. 1. 17. 16:08알고리즘/프로그래머스

반응형

<문제>


<코드 & 설명>

class Solution {
  public boolean solution(String s) {
      boolean answer = true;
      // 길이가 4나 6이 아닌경우 => false
      if(s.length() != 4 && s.length() != 6)    answer = false;
      for(int i=0; i<s.length(); i++)
          // 문자열에 숫자가 아닐경우 => false
          if(s.charAt(i) >= 'A')
              answer = false;
      return answer;
  }
}

문자열 길이가 4, 6이 아닌 경우 -> false
문자열에서 문자가 있는 경우 -> false


<다른 방법>

class Solution {
    public boolean solution(String s) {
	// 길이가 4 또는 6 이고,
        if(s.length() == 4 || s.length() == 6) {

			//모두 숫자로 이루어졌어?
			for (int i = 0; i < s.length(); i++) {
				char ch = s.charAt(i);
				if(ch < '0' || ch > '9')
					return false;
			}
			return true;
		} else
			return false;
    }
}

입력으로 주어지는 문자열 s의 길이를 먼저 확인한 뒤,
주어지는 문자들이 숫자로 구성되어 있는지 확인한다.


<다른 방법>

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;
  }
}

try catch 문을 써서 해결한다. parseInt해서 예외가 발생하면 return문으로 이어지도록 한다. 

Integer.parseInt()안의 매개변수로 들어가는 값에 문자열이 있으면 NumberFormatException이 발생한다.

반응형