/
https://42jerrykim.github.io/ _index.md
파이썬 email과 smtplib 모듈을 빠르게 사용하기 위한 치트시트입니다. 이메일 메시지 생성, SMTP 발송, 첨부파일, HTML 메일 등 핵심 패턴을 최소 예제로 정리합니다.
파이썬 문자열을 빠르게 다루기 위한 치트시트입니다. 슬라이싱, split/join, strip/replace, 검색(find/index), f-string 포맷팅, bytes/encoding 주의점을 최소 예제로 정리합니다.
list/tuple/set을 빠르게 선택하고 다루기 위한 치트시트입니다. 정렬·복사·언패킹, set 연산(교집합/합집합), 멤버십 성능 감각, 얕은 복사 함정까지 최소 예제로 정리합니다.
파이썬 dict를 실무에서 빠르게 쓰기 위한 치트시트입니다. 안전한 조회(get), 기본값(setdefault/defaultdict), 카운팅(Counter), 정렬/순회, 병합(|/update) 패턴과 흔한 함정을 최소 예제로 정리합니다.
if/for/while 제어 흐름을 빠르게 쓰기 위한 치트시트입니다. truthy/falsy, enumerate/zip, loop-else, break/continue, match-case(선택)까지 실무에서 자주 쓰는 패턴과 함정을 최소 예제로 정리합니다.
함수 정의와 인자 패턴을 빠르게 쓰기 위한 치트시트입니다. 기본값 인자의 함정, *args/**kwargs, keyword-only/positional-only, 반환값 언패킹, 어노테이션/독스트링 기본까지 실전 예제로 정리합니다.
컴프리헨션과 제너레이터를 빠르게 선택하기 위한 치트시트입니다. list/dict/set comprehension, generator expression, yield, next, 메모리 관점에서의 선택 기준과 대표 함정을 최소 예제로 정리합니다.
예외 처리를 빠르게 설계/작성하기 위한 치트시트입니다. try/except/else/finally, raise/raise from, 예외 계층과 커스텀 예외, 자원 정리(with)와 로깅 연결까지 실전 패턴을 정리합니다.
파일 입출력과 경로 처리를 빠르게 하기 위한 치트시트입니다. pathlib로 경로 다루기, open()의 encoding/newline, 텍스트·바이너리 모드, 안전한 읽기/쓰기(with) 패턴과 흔한 함정을 최소 예제로 정리합니다.
모듈/임포트를 실무에서 안전하게 쓰기 위한 치트시트입니다. import 패턴, __name__ == "__main__", 상대/절대 import, 패키지 구조 감각, sys.path 함정과 간단한 프로젝트 레이아웃을 정리합니다.
가상환경과 패키지 설치를 빠르게 정리하는 치트시트입니다. venv 생성/활성화, pip install/upgrade, requirements.txt 관리, 재현 가능한 설치 습관과 흔한 환경 꼬임을 최소 체크리스트로 정리합니다.
dataclasses를 빠르게 적용하기 위한 치트시트입니다. @dataclass 기본, field(default_factory), frozen/slots, 비교/정렬 옵션, 불변 객체로 모델링하는 패턴과 mutable default 함정을 최소 예제로 정리합니다.
itertools/functools를 실전에서 바로 쓰기 위한 치트시트입니다. chain/islice/groupby/product, lru_cache/partial/reduce 등 자주 쓰는 조합과 groupby 함정, 캐시 주의점을 최소 예제로 정리합니다.
JSON/CSV를 빠르게 읽고 쓰기 위한 치트시트입니다. json.load/dump 옵션(ensure_ascii/indent), DictReader/DictWriter, newline/encoding 주의점, 흔한 데이터 타입 이슈를 실전 최소 예제로 정리합니다.
datetime을 안전하게 다루기 위한 치트시트입니다. naive/aware 구분, timezone(UTC) 기본, ISO 파싱/포맷, 타임존 변환, 흔한 버그 포인트(로컬타임/서머타임)를 최소 예제로 정리합니다.
정규표현식을 안전하게 쓰기 위한 치트시트입니다. re.search/match/findall/sub, 그룹/이름그룹, greedy vs non-greedy, flags, raw string, 과도한 백트래킹 회피 등 실무 함정을 최소 예제로 정리합니다.
로깅과 디버깅을 빠르게 정리하는 치트시트입니다. logging 기본 설정, logger 사용 패턴, 예외 로깅(exception), traceback 읽는 법, breakpoint/pdb 활용(선택)과 실무 함정을 최소 예제로 정리합니다.
테스트를 빠르게 시작하기 위한 치트시트입니다. Arrange-Act-Assert, pytest 스타일 assert, unittest 기본, fixture/parameterize 개념, mock의 최소 사용 원칙과 실무에서 자주 깨지는 포인트를 정리합니다.
페닉윅 트리(Fenwick Tree)로 각 임계값(j=0..N-1)에 대해 배열 최댓값을 j로 제한했을 때 역위(inversion) 개수를 효율적으로 계산한다. O(N^2 log N) 풀이로 최악의 경우 O(N log N) 단일 쿼리를 N번 수행한다.
KMP(접두사 함수)로 패턴 W(최대 1만)와 텍스트 T(최대 100만)에서 겹치는 등장 횟수를 O(|W|+|T|)에 센다. 다중 테스트 처리, 실패함수 이동, 오프바이원 실수를 정리한다.