문제 링크는 여기 참고 문자열 다루기 기본
function solution(s) {
if (s.length == 4 || s.length == 6) {
return [...s].every((val) => !(isNaN(val/1)));
}
}
안되는 케이스가 있어서 내가 every 메서드를 제대로 이해를 못했나 했는데 챗쥐한테 물어보니까 걍 정규표현식 쓰라고 함 아니1!! 나는 왜 이게 안되는지 궁금하다니까??!!!
동언쓰가 도와줬는데 이것저것 보다가
문자열 길이가 저기에 해당이 안될때에 대한 케이스를 안 써준거같다고 return false 해보라고 했다.
된다!!!
아니 근데 이거는 .. 그렇구나 앞으로 케이스 분류를 잘 해야겠다..
문자열이 저기에 해당되지 않을때는 undefined만 되니까 계속 케이스 틀렸던거임. 처리를 잘 하자!
function solution(s) {
if(s.length === 4 || s.length === 6) {
return /^[0-9]+$/.test(s);
}
return false
}
챗쥐가 써보라고 한 정규표현식
간결하구만 근데 +는 [] 문자열 세트가 one or more인지 여부를 적어주는거라고 한당. 그래서 0123도 ok고 01239도 오케이
Yes, the + sign is a quantifier in regular expressions, and it means "one or more". So [0-9]+ matches one or more digits (0 to 9).
To break it down further, the square brackets ([ ]) indicate a character set, which means any character within the brackets is a valid match. In this case, the character set is [0-9], which means any digit from 0 to 9 is a valid match.
So, the regular expression [0-9]+ matches one or more digits (0 to 9) in a row.
// Number
// ex) Number('0.5') === 0.5
// 해당 문자열의 숫자를 있는 그대로 출력한다.
// 문자열 내에 숫자 말고도 문자가 섞여있으면 무조건 NaN로 나온다.
// parseInt
// ex) parseInt('0.5') === 0
// 소수를 출력해도 해당 소수점은 다 자르고 정수만 나온다.
// 문자열 내에 숫자 말고도 문자가 섞여있어도 숫자만 그대로 출력해주는 기능이 있다.