오늘 프로그래머스 코딩 테스트 연습문제를 풀면서 정규식을 사용해야 하는 문제가 있었다.
하... 정규식 너란 녀석... 어떻게 돌아서면 까먹는지... ㅋㅋㅋ
하지만 포기하지 말자. 언젠가는 외워지겠지...
일단 오늘 문제에서는 소문자 영어와 숫자 그리고 . - _ 이렇게 세 가지 문자를 제외한 모든 문자는 제외시켜야 하는 코드를 필요로 했다.
따라서 몇분간의 삽질 결과... 아래와 같은 정규식 표현을 만들었다.
const allowedCharacters = /^[a-z0-9._-]/g;
const notAllowedCharacters = /[^-_.a-z0-9]/g;
const capitalLetters = /^[A-Z]/g
우선 [] 괄호 밖에 있는 ^ 이 문자의 뜻은 해당 괄호 안의 문자로 시작한다는 의미를 가진다.
따라서 allowedCharacters 상수는 소문자영어 숫자 그리고. _ - 이렇게 세 가지 특수문자를 뜻한다.
반면 notAllowedCharacters 상수는 괄호안에 ^ 표시가 있다.
이것은 부정표현으로 괄호내의 문자 이외의 문자를 뜻한다. 즉 허용되는 문자 이외의 문자를 뜻한다.
아마 실제 코딩테스트에서 정규식 표현을 사용해야 하는 상황이었다면 빼박 시간 초과였을 것이다.
ㅠㅠ 하지만 오늘 연습했으니 다음에는 더 빨라지겠지!
'Javascript' 카테고리의 다른 글
[JS] String에서 Date 전환할 때 시간 변경 문제 (0) | 2022.03.22 |
---|---|
[JS] 프로미스와 콜백 (0) | 2022.03.21 |
[NodeJS] NodeJs는 싱글스레드일까? (0) | 2022.03.14 |
[NodeJS] 런타임이란 무엇일까? (0) | 2022.03.14 |
[JS] Hoisting이란? (0) | 2022.03.13 |