수량자 어떠한 패턴이 얼만큼 등장하는지 숫자를 나타내는 것으로, * / + / ? 세 가지 표현 방법이 있다. *는 0 또는 여러 개 +는 1 또는 여러 개 ?는 0 또는 1을 나타낸다. 수량자 뒤에 있는 문자를 기준으로 생각하는 것이 편리하다. 아래 예시로 보다 정확하게 이해해보자. ✏️ 예시) [Case 1] a*b - b 앞에 문자가 0번 나오거나 여러 개 있는 것이 선택된다. - 즉 b 앞에 문자가 1개, 2개, 3개... 여러 개 있어도 선택되고, 문자가 하나도 없어도 선택된다. [Case 2] a+b - b 앞에 문자가 최소 1번은 나와야 한다. - 앞에 문자가 아무 것도 없는 b는 선택되지 않는다. [Case 3] a?b - b 앞에 문자가 없거나 1번 있어야 한다. - b 앞에 문자가 여러..
정규 표현식의 기본 패턴 정규 표현식은 문자열에서 특정 문자 조합을 찾기 위한 패턴이다. 먼저 정규 표현식은 대소문자를 구분한다. (구분하지 않게 하고 싶다면 정규 표현식의 내용이나 설정을 바꿔야 한다.) 또 띄어쓰기, 탭, 개행 등의 영향을 받는다. ✏️ 예시) 정규 표현식의 위치와 이스케이핑 ^ (캐럿)은 라인의 앞쪽에 있는 요소를 선택할 때 쓰인다. $ (달러)는 라인의 뒤쪽에 있는 요소를 선택할 때 쓰인다. 아래 예시처럼 같은 who여도 ^이냐 $이냐에 따라서 선택되는 부분이 다르다. ✏️ 예시) 만약 이런 ^, $가 소스에 포함되어 있다면 어떻게 해야 할까? Case 1의 정규 표현식은 라인 가장 앞 쪽에 있는 $를 표현하려고 했다. 하지만 뒤에 있는 $가 정규표현식의 $이기 때문에 작동되지 않..
들어가기에 앞서 여태까지 백준에서 파이썬으로 알고리즘을 풀었어서 몰랐었는데, JS로 풀려니까 입력 값을 어떻게 받아야 할지 의문이었다. 구글링을 해보니 알 수 없는... 무시무시하게 긴 코드들이 나와 지레 겁을 먹고 좀 더 용이한 프로그래머스로 빤스런을 했으나 오늘 한 문제를 만나면서 다시 그 긴 코드들을 마주하게 되어 그냥 찬찬히 뜯어보기로 했다. readline 모듈 내가 본 그 무시무시한 코드는 readline 모듈이었다. 이 모듈은 Readable Stream에서 한 번에 한 줄씩 데이터를 읽기 위한 인터페이스를 제공하는 모듈이라고 한다. 먼저 이 모듈을 불러온다. const readline = require("redaline"); 다음으로 데이터를 읽기 위한 인터페이스를 생성해보자. cons..