https://programmers.co.kr/learn/courses/30/lessons/12918?language=javascript
쉽다고 생각한거와 다르게 11번 문제가 통과가 안됐다. 질문창에 가 글들을 읽어보니 아스키코드(ASCII)가 문제가 되는 것이었다.
'0x66' 문자열이 들어왔을 때 NaN으로 처리 되지 않고 102이 라는 값이 나오게 되어 오답이 되는것이었다.
'0x66' = 102
이때 숫자만 통과하게 만들어 줄수 없을까 생각하던 도중 정규표현식이 떠올라 정규표현식을 한번 사용해봤다.
function solution(s) {
let num = /^[0-9]*$/; //정규표현식
if((s.length === 4 || s.length === 6) && num.test(s)){
return true;
}
return false
}
/^[0-9]*$/는 정규표현식으로 숫자로만 이루어져 있는지 확인할수 있다.
다음번에 정규표현식에 대해 블로깅 한번 하겠습니다