#string
노트 4개
Frontend › JavaScript
정규 표현식: 문법·플래그·메서드JavaScript 정규 표현식을 사전처럼 찾아보는 표 모음. 문자 클래스·세트·앵커·수량자·그룹·역참조·대안·전후방탐색 문법, g·i·m·s·u·v·y·d 플래그, match·matchAll·replace·split·exec·test의 반환값과 lastIndex 함정, 명명된 그룹과 중복 이름, v 플래그의 집합 연산, d 플래그의 indices, 인라인 플래그 수정자, 사용자 입력을 안전하게 넣는 RegExp.escape까지.
Computer Science › C Programming
C 기초: 컴파일, 자료형, 연산자, 제어문, 함수, 배열과 문자열비트와 바이트로 정보를 표현하는 법, 소스 코드가 실행 파일이 되는 4단계 컴파일 과정, 디버깅, C 자료형의 크기, 연산자와 수식의 함정(정수 나눗셈, 증감의 미정의 동작, 대입식, 단락 평가, 우선순위), 제어문(if·switch·반복문·goto)과 함수(원형, 값에 의한 호출), 배열 초기화 규칙, 널 종단 문자열과 ctype.h·string.h 함수의 함정(strncpy, strtok, gets 대신 fgets, atoi 대신 strtol), 명령행 인자.
Algorithm › Paradigm
투 포인터와 슬라이딩 윈도우인덱스 두 개를 규칙에 따라 움직여 이중 반복문 O(n²)을 O(n)으로 줄이는 기법. 양 끝에서 좁히기, 같은 방향 윈도우, 두 배열 병합·교집합, 빠른·느린 포인터의 네 가지 모양과 회문 판정·중심 확장을 정리한다.
Algorithm
KMP 문자열 검색 알고리즘텍스트에서 패턴을 찾을 때 불일치가 나도 텍스트 포인터를 되돌리지 않는 KMP 알고리즘. 패턴의 접두사이자 접미사인 가장 긴 부분의 길이를 담은 실패 함수(pi 배열)로 점프할 위치를 정해 O(N + M)에 검색한다. 롤링 해시로 창을 비교하는 라빈-카프와 다른 문자열 검색 알고리즘도 비교한다.