[Algorithm] 허수에서 실수까지128 알고리즘 문제 풀이 순서 앞으로 작성할 알고리즘 문제는 최대한 아래와 같은 순서대로 해결할 생각입니다. 실제로, 문제를 풀 때 이와 같은 순서대로 문제를 풀고 있습니다. 1. 문제 이해하기 2. 시간 복잡도 어림하기 3. 알고리즘 설계하기 4. 알고리즘 구현하기 각 단계를 간단히 설명해보면, 문제 이해하기 단계는 문제의 요구사항과 조건을 살펴보고 간단히 요약해보는 단계입니다. 보통 이 단계에서 대략적인 알고리즘의 방향성을 잡습니다. 시간 복잡도 어림하기 단계에서는 시간 복잡도가 의미있는 문제에 대해 1. 브루트 포스 2. 동적 계획법 3. 이분탐색, 더블 포인터 4. 그리디 와 같은 순서대로 사용 가능한 알고리즘을 점검합니다. 이 단계에서 가능한 알고리즘과 불가능한 알고리즘을 분류합니다. 여기서 의미 있는 문제란 다양한 경우의 .. 2024. 3. 21. [C++] 백준 2579번: 계단 오르기 (DP) 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 1. 문제 이해하기 이 문제를 요약해보면 규칙에 따라 계단을 오를 때, 얻을 수 있는 점수의 최댓값을 구하여라. 라고 할 수 있습니다. 여기서 주어진 규칙은 다음과 같습니다. 1. 계단은 한 번에 한 칸 또는 두 칸을 오를 수 있다. 2. 시작점을 제외하고 연속 세 개의 계단은 밟을 수 없다. 3. 마지막 계단은 반드시 밟아야 한다. 문제의 목표와 주어진 규칙을 숙지했다면, 다음 단계로 넘어가겠습니다. 2. 시간복잡도 어림하기 모든 경우의 수 탐색 알고리즘 (브루트 포스 알.. 2024. 3. 20. 이전 1 ··· 19 20 21 22 다음