문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "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;
}
}
기본적인 문제이지만 다른 사람의 풀이
를 보다가 너무 기똥찬 방법이 있어 기억하기 위해 글을 남깁니다..
아직 알고리즘 초보이기 때문에 이런 풀이 방식이 너무 신박하게 다가오네요..
사실 이 문제를 풀기 전에 한 번은 생각한 방법입니다.
문자열을 통으로 정수로 바꾸고 예외가 터지면 false ?!
하지만 풀이로 적용하지는 못했는데 정말 이렇게 푸신 분이 계셨네요..
감사히 배우고 갑니다 ㅎ 😁
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;
}
}