프로그래머스 Level 1
🔒 문자열 다루기 기본
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
s | return |
---|---|
"a234" | false |
"1234" | true |
class Solution {
public boolean solution(String s) {
boolean answer = true;
String p1 = "\\d{4}|{6}";
if(!s.matches(p1)) answer = false;
return answer;
}
}
정규표현식을 이용해 숫자로만 이루어지고 길이가 4 혹은 6인지 확인한다.
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;
}
}
아... 먼저 길이가 4 아님 6인지를 확인한 후에
정수형으로 바꿀 수 있다면 true
정수형으로 바꿨을 때 오류가 난다면 false를 반환한다.
이런방법도 있다니...
생각도 못해봤다.
감자는 문제를 보자마자 정규표현식을 생각했는데
색다른 방법도 알게되니 신기하고 재밌다.
그나저나 정규표현식 쓸 때마다 검색해야해서 별로 반갑지 않다...😥