문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수,
solution을 완성하세요.
예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
s
는 길이 1 이상, 길이 8 이하인 문자열입니다.s
는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.s | return |
---|---|
"a234" | false |
"1234" | true |
class Solution {
public boolean solution(String s) {
if(s.length() != 4 && s.length() != 6)
return false;
for (int i=0; i<s.length(); i++) {
if (s.charAt(i) < '0' || s.charAt(i) > '9')
return false;
}
return true;
}
}
charAt()
메서드로 문자열의 문자 하나가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.matches("[0-9]{4}|[0-9]{6}");
}
}
String.matches()
로 특정 패턴의 문자열을 포함하는지 확인할 수 있음.matches()
메서드는 처음 접해보는 것 같다😳
정규 표현식도 마냥 외계어처럼 보였는데 계속 접하다보니 읽히는 것 같고ㅎㅎㅎ
try-catch문을 이렇게 사용하진 않지만 그래도 활용한 사람 대단하다...!!!
역시 우리나라에는 천재가 너무 많은 것 같네...😅