반응형
알고리즘은 문제를 해결하기 위한 절차다. 입력을 어떤 상태로 보고, 어떤 규칙으로 바꾸며, 언제 답을 낼지 명확히 정하는 과정이라고 볼 수 있다.
알고리즘을 볼 때의 기준
- 먼저 입력 크기를 보고 가능한 시간복잡도 범위를 가늠한다.
- 문제의 상태를 배열, 그래프, 트리, 집합, 문자열 중 어떤 구조로 볼지 정한다.
- 정답을 직접 만들지, 부분 문제의 답을 쌓을지, 탐색 공간을 줄일지 선택한다.
자주 쓰는 접근
- 정렬과 이분 탐색은 탐색 범위를 줄일 때 유용하다.
- BFS와 DFS는 그래프나 상태 공간을 탐색할 때 기본이 된다.
- 동적 계획법은 같은 부분 문제가 반복될 때 계산 결과를 저장해 효율을 높인다.
풀이 검증
- 작은 예제를 손으로 풀어 상태 변화가 의도대로 진행되는지 확인한다.
- 시간복잡도와 메모리 사용량을 입력 제한과 비교한다.
- 경계값과 예외 케이스를 따로 만들어 구현 실수를 잡는다.
읽을 때 확인할 점
알고리즘 기본 개념: 문제 해결 절차를 설계하는 방법를 볼 때는 먼저 용어의 정의와 적용 조건을 분리해서 보는 것이 좋다. 같은 표현이라도 개발 환경, 데이터 형태, 사용 목적에 따라 실제 의미가 달라질 수 있기 때문이다.
- 지금 해결하려는 문제가 개념 이해인지, 구현 적용인지, 결과 해석인지 먼저 나눈다.
- 예제의 전제 조건이 내 상황과 같은지 확인한 뒤 필요한 부분만 가져온다.
- 결과가 기대와 다르면 입력, 설정, 경계 조건을 순서대로 좁혀서 확인한다.
적용 체크리스트
- 핵심 용어를 한 문장으로 설명할 수 있는지 확인한다.
- 작은 예제나 샘플 데이터로 동작을 먼저 검증한다.
- 실제 적용 전에는 입력 조건, 예외 케이스, 결과 해석 기준을 따로 적어 둔다.
함께 보면 좋은 글
마무리
알고리즘 기본 개념: 문제 해결 절차를 설계하는 방법는 개념 자체보다 적용 상황과 한계를 함께 보는 것이 중요하다. 작은 예제로 동작을 확인하고, 실제 환경에서는 입력 조건과 예외 케이스를 따로 점검하는 습관을 두면 시행착오를 줄일 수 있다.
반응형
'tistory' 카테고리의 다른 글
| 자전거 펌프 밸브 종류: 던롭, 프레스타, 슈레더 차이 (0) | 2026.05.31 |
|---|---|
| 특징 추출 개념: 모델 입력을 만드는 방법 (0) | 2026.05.31 |
| 알고리즘 문제 출제 기준: 난이도와 검증 케이스 설계 (0) | 2026.05.31 |
| 푸아송 분포 개념과 예제: 발생 횟수, 람다, 이항분포 근사 (0) | 2026.05.26 |
| 확률변수 개념: 표본공간의 결과를 수치 함수로 해석하기 (0) | 2026.05.26 |
