class Solution {
public boolean solution(String s) {
boolean answer = true;
char[] temp = s.toCharArray();
if(s.length() != 4 && s.length() != 6) return false;
for(int i=0; i<temp.length; i++) {
if(Character.isLetter(temp[i])) {
answer= false;
break;
}
}
return answer;
}
}
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;
}
}
예외처리를 이용해서 문제를 풀 수도 있다.
생각도 못했다.
import java.util.*;
class Solution {
public boolean solution(String s) {
if (s.length() == 4 || s.length() == 6) return s.matches("(^[0-9]*$)");
return false;
}
}
정규표현식을 이용할 수도 있다.
class Solution {
public boolean solution(String s) {
return (s.length() != 4 && s.length() != 6) || (s.split("[0-9]").length > 0) ? false:true;
}
}
정규표현식을 이용하는데, 조금 더 간단히 이용해서 split에 이용할수도있다.
숫자로만 구성되어있다면, 숫자기준으로 split할 경우 결과 배열에 들어가는건 아무것도 없을거다. 따라서 결과 배열의 길이가 0이된다!