문제
문자열 길이가 4 또는 6이면서, 숫자로만 구성되어 있는지 t/f를 반환
나의 풀이
function solution(s) {
var len = s.length == 4 || s.length == 6
return !/[A-Za-z]/.test(s) && len;
}
- 문자열 s의 길이가 4또는 6인지 확인해 len 에 불리언 값을 저장
- 정규식 /A-Za-z/를 사용하여 문자열 s에 알파벳 문자가 포함되어있는지 확인한다
- .test() 메서드는 문자열에 패턴이 존재하면 true 아니면 false 반환한다
RegExp.prototype.test() - JavaScript | MDN
test() 메서드는 주어진 문자열이 정규 표현식을 만족하는지 판별하고, 그 여부를 true 또는 false로 반환합니다.
developer.mozilla.org
리팩토링
function solution(s) {
return /^[A-Za-z]{4}$|^[A-Za-z]{6}$/.test(s);
}
- ^ : 문자열의 시작
- [A-Za-z] : 알파벳 대소문자 모두 포함
- {숫자} : 알파벳 문자가 4개인지
- $ : 문자열의 끝
- | : 또는
다른 풀이
function alpha_string46(s){
var regex = /^\d{6}$|^\d{4}$/;
return regex.test(s);
}
- /d : 숫자를 나타내는 것 [0-9] 와 동일한 의미를 가진다
'기초다지기 > JS 코딩테스트' 카테고리의 다른 글
javascript 이차원배열의 덧셈 (0) | 2023.10.24 |
---|---|
javascript 주어진 문자열 배열중 접두사 찾기 (1) | 2023.10.23 |
javascript 두 정수 left, right 사이 정수들 약수 갯수와 덧셈 (0) | 2023.10.20 |
javascript 주어진 길이 n에 따라 "수박" 패턴을 유지하는 문자열 생성하기 (0) | 2023.10.20 |
javascript 배열 내 가장 작은 수 제거하기 (0) | 2023.10.19 |