728x90
문제
정답 처리된 코드
function solution(s) {
var answer = false;
var regex = /^[0-9]*$/;
if((s.length === 4 || s.length === 6) && (regex.test(s))){
answer = true;
}
return answer;
}
문제 이해
1) 길이가 4 또는 6이고 숫자로만 되어있는지 확인되면 true 처리한다.
2) 나머지는 모두 false
3) 정규 표현식이 유용하다.
정규 표현식
위 문제에서 사용된 정규표현식을 집고 넘어가보자.
/^[0-9]*$/
1) / 기호는 시작과 종료를 의미한다.
2) ^ 라인의 시작 지점을 뜻 함 ( 어디선가 ^는 부정을 뜻하기도 한다고 했던거 같은데... 좀더 찾아보기로...)
3) [] 내에 - 를 사용해서 범위를 지정한다. [0-9] 0에서 9사이의 숫자를 의미
4) * 0회 이상 연속으로 반복되는 문자와 가능한 많이 일치할 때를 의미합니다.
5) $ 는 문자열의 끝을 의미한다.
0에서 9범위내의 모든 문자열 찾을 때 사용하면 좋을 듯
정규 표현식 추가 학습이 매우 필요함.
출처: programmers.co.kr/learn/courses/30/lessons/12918?language=javascript
'알고리즘, 자료구조 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/javascript/카카오 인턴] 키패드 누르기 (0) | 2021.05.06 |
---|---|
[프로그래머스/javascript] 문자열 내 p와 y의 개수 (0) | 2021.04.07 |
[프로그래머스/javascript] 문자열 내 마음대로 정렬하기 (0) | 2021.04.07 |
[프로그래머스/javascript] 문자열 내림차순으로 배치하기 (0) | 2021.04.07 |
[프로그래머스/javascript] 나누어 떨어지는 숫자 배열 문제 풀기 (0) | 2021.04.07 |