문제 설명
제한 사항
입출력 예
s | return |
---|---|
"a234" | false |
"1234" | true |
문제 풀이
function solution(s) {
return (s.length===4 || s.length===6) && /^[0-9]+$/.test(s); //s의 길이가 4 or 6인지 판단, 그리고 test메서드로 문자열에 숫자가 있는지 확인 후 반환
}
이번 문제는 사실 숫자가 있는지만 판별하면 되겠구나 생각하고 Number를 써서 하단과 같이 풀다가 "1234"값의 true만 return되고 나머지도 계속 true라고 나와서 실패하다가, 결국은 답을 찾아보았다.
(나의 코드 - 실패)
function solution(s) {
var answer = true;
for (let i = 0; i < s.length; i++) {
if (s.length !== s[i].includes(Number)){
answer = true;
} else {
answer = false;
}
}
return answer;
}
정규표현식 너무 어렵다... 이해하려고 애써봤는데도 너무 표현식이 많아서 복잡하다.
그래도 여기 보면 정리가 잘 되어있어서 공유:
https://curryyou.tistory.com/234
test()메서드도 잘 알아두자.
주어진 문자열이 정규 표현식을 만족하는지 판별하고, 그 여부를 true 또는 false로 반환한다.