💻
[프로그래머스] 4주차 스터디 회고
September 28, 2022
문자열 다루기 기본
function solution(s) {
const l = s.length;
if (l !== 4 && l !== 6) return false;
// return s.split('').map(Number).filter(isNaN).length === 0;
return Number(s) === parseInt(s);
}
function solution(s) {
return s.length === 4 || s.length === 6 ? ![...s].map(Number).includes(NaN) : false;
}
문자열 s의 길이가 4 혹은 6이라면, NaN이 배열 안에 없으면 true를 반환한다.
function solution(s) {
const regex = /^\d{4}$|^\d{6}$/g;
return regex.test(s);
}
4 길이의 숫자로 시작하고 끝나거나 6길이의 숫자로 시작하고 끝난다면 true를 반환한다.
NaN 특징
NaN 특징:
typeof NaN; // 'number'
NaN은 판별에 주의해야하는데,
1. isNaN(NaN) // true
2. NaN === NaN // false
3. [1,2,NaN,4].indexOf(NaN) // -1
4. [1,2,NaN,4].includes(NaN) // true
따라서 자료구조에서 NaN를 구별해야하는 로직에서는 isNaN() 함수를 사용하는 것이 바람직해보인다.