7. 그리디
7.1 그리디 알고리즘 그리디 알고리즘은 현재 상태에서 보는 선택지 중 최선의 선택지가 전체 선택지 중 최선의 선택지라고 가정하는 알고리즘 그리디 알고리즘의 핵심 이론 그리디 알고리즘은 다음과 같은 3단계를 반복하면서 문제를 해결한다. 그리디 알고리즘 수행 과정 1. 해 선택: 현재 상태에서 가장 최선이라고 생각되는 해를...
7.1 그리디 알고리즘 그리디 알고리즘은 현재 상태에서 보는 선택지 중 최선의 선택지가 전체 선택지 중 최선의 선택지라고 가정하는 알고리즘 그리디 알고리즘의 핵심 이론 그리디 알고리즘은 다음과 같은 3단계를 반복하면서 문제를 해결한다. 그리디 알고리즘 수행 과정 1. 해 선택: 현재 상태에서 가장 최선이라고 생각되는 해를...
6.1 깊이 우선 탐색 깊이 우선 탐색의 핵심 이론 깊이 우선 탐색은 그래프 완전 탐색 기법 중 하나이다. 깊이 우선 탐색은 그래프의 시작 노드에서 출발하여 탐색할 한 쪽 분기를 정하여 최대 깊이까지 탐색을 마친 후 다른 쪽 분기로 이동하여 다시 탐색을 수행하는 알고리즘 | 기능 | 특징 | 시간 복잡도(노드 수: V, 에지 수: ...
5.1 버블 정렬 정렬 알고리즘 정의 정렬 알고리즘 정의 버블 (bubble) 데이터의 인접 요소끼리 비교하고, swap 연산을 수행하며 정렬하는 방식 선택 (selection) 대상에서 가장 크거나 작은 데이터...
4.1 배열과 리스트 배열과 리스트의 핵심 이론 배열 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조 배열의 값은 인덱스를 통해 참조할 수 있으며, 선언한 자료형의 값만 저장할 수 있다. 배열의 특징 인덱스를 사용하여 값에 바로 접근할 수 있다. 새로운 값을 삽입하거나 특정 인덱스에 있는 값을 삭제하기 어...
3.1 예상치 못한 음수 결과 해결하기 문제를 해결하는 과정에서 예상치 못한 음수 결과 발생 → 자료형을 변경하여 문제를 재검토 int 보다는 long을 사용하는 것이 더 안전하다. 3.2 시간 초과의 원인을 찾아 해결하기 풀이 로직의 시간 복잡도가 제한 시간 안에 문제를 해결할 수 있는 수준인지 확인한다. 입력과 출력 방...