#problem-solving
노트 6개
Algorithm › Graph
단절점과 단절선지우면 그래프가 끊어지는 정점(단절점)과 간선(단절선)을 DFS 방문 순서와 low 값으로 O(V + E)에 찾는 방법.
Algorithm › Graph
오일러 경로와 오일러 회로모든 간선을 정확히 한 번씩 지나는 경로·회로의 존재 조건(차수의 짝홀)과, 히어홀저 알고리즘으로 O(V + E)에 회로를 구하는 방법. 다중 간선에서 이미 쓴 간선을 다시 훑지 않는 요령을 함께 정리한다.
Algorithm › Paradigm
스위핑 (Sweep Line)데이터를 정렬해 한 방향으로 한 번만 훑으며 답을 갱신하는 기법. 구간 겹침 판정·병합 같은 구간 문제의 기본 부품, 겹치는 구간 세기와 평면을 직선으로 나누는 기하 문제를 예로 든다.
Algorithm
코딩 테스트 접근법주석으로 설계하고 테스트 케이스를 먼저 적는 문제 풀이 순서, 출제 빈도별 알고리즘 우선순위, 막혔을 때 풀이를 볼 시점을 정하는 연습법과 그 방식이 자기기만이 되는 함정, 랜덤 비교 테스트로 반례 찾기, 막혔을 때 접근을 찾는 관점과 이론상 최선 복잡도(BTTC)를 기준으로 시간·공간을 줄이는 최적화 기법, 파이썬·자바스크립트 실전 팁.
Career › Work
디버깅 사고법: 가설을 세우고 반증한다버그는 머릿속 모델(멘탈 모델)이 실제 시스템과 어긋난 자리에서 생기므로, 디버깅은 그 어긋남을 배우는 문제 해결이다. 과학적 방법의 다섯 단계, 좋은 가설의 조건(원인과 실패 지점을 함께 설명하고 반증 가능), 주석을 규범이 아닌 참고로 읽기, 고정 마인드셋과 성장 마인드셋, 능동적 회상·나눠 공부하기·끈기 같은 습관을 정리한다.
Career › Work
컴퓨팅 사고와 개발 실력 늘리는 법컴퓨팅 사고는 문제를 분해·패턴 인식·추상화·알고리즘으로 다듬어 컴퓨터가 실행할 수 있는 절차로 바꾸는 사고다. 요구사항을 데이터의 관점으로 다시 정의하는 법, 알고리즘을 자연어·순서도·의사 코드로 적는 법과 순차·선택·반복의 세 제어 구조, 알고리즘 공부가 프론트엔드 개발자에게도 필요한 이유, 개발을 운동처럼 훈련하는 방법을 정리했다.