1. 문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
2. 제한 조건
s는 길이 1 이상, 길이 8 이하인 문자열입니다.
3. 예시
입력/출력
4. 풀이
[parseInt 활용]
s의 길이가 4 or 6 이고 s의 값이 정수형s와 같으면 true
//처음에는 isNan으로 풀다가 실패..
//Number로 하니까 테스트 11번에서 실패
//parseInt로 하니까 성공!
function solution(s) {
return (s.length === 4 || s.length === 6) && s == parseInt(s)
}
[정규표현식 활용]
function solution(s) {
return (s.length===4 || s.length===6) && /^[0-9]+$/.test(s);
}
// ^ : 시작
// [0-9] : 0~9까지의 숫자
// + : 반복, 앞의 문자가 1개 이상인 경우
// $ : 종료
function alpha_string46(s){
var regex = /^\d{6}$|^\d{4}$/;
return regex.test(s);
}
//숫자의 길이가 6 또는 4
//test는 문자열에서 일치하느 ㄴ항목을 검사하는 메소드
isNan()
Not a number의 약자로 숫자가 아닌 문자열에 대해 true를 반환
isNan으로도 많은 해결이 있었지만 지수 형태(e231)나 16진법 형태가 테스트에 업데이트 되면서 오류가 생기게 되었다.
정규표현식
문자열에 나타나는 특정문자 조합과 대응시키기 위해 사용되는 패턴
잘 정리된 블로그가 있어 링크 첨부
https://m.blog.naver.com/jeongju02/221517177533
[Javascript] 정규표현식 패턴 및 자주사용하는 함수
정규 표현식 패턴 및 자주사용하는 함수 #javascript #pattern #matching #search #test #replace #RegEx...
blog.naver.com
'개발 공부 > 알고리즘' 카테고리의 다른 글
[프로그래머스 알고리즘] "완주하지 못한 선수" JavaScript / .sort (), map (0) | 2022.03.14 |
---|---|
[프로그래머스 알고리즘] "수박수박수?" JavaScript / repeat ,substring (0) | 2022.03.14 |
[프로그래머스 알고리즘] "서울에서 김서방 찾기" JavaScript / find, findIndex, indexOf (0) | 2022.03.14 |
[프로그래머스 알고리즘] "문자열 내 p와 y의 개수" JavaScript / toUpperCase 소문자를 대문자로 (0) | 2022.03.14 |
[프로그래머스 알고리즘] "내적" JavaScript / reduce 메쏘드 (0) | 2022.03.13 |