-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path6.txt
37 lines (26 loc) · 1.8 KB
/
6.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
완전탐색(Brute-force)
-컴퓨터의 빠른 계싼 능력을 이용해 가능한 경우의 수 를 일일이 나열하면서 답을 찾는 방법을 의미. 이렇게 가능한 방법을 전부 만들어 보는 알고리즘
- 시간 복잡도를 최적화 할 수 없는 곳이나
- 특별한 알고리즘이나
- 수학적 최적화가 없는 곳
- 시간 복잡도를 최적화 할 필요 없는 곳에서 사용.
- 데이터를 개수가 크지 않아서 시간 복잡도를 최적화 할 필요가 없는 곳
탐욕법(Greedy)
- 매 선택에서 지금 이 순간 당장 최적인 답을 선택하여 적합한 결과를 도출
- 매 선택이 그 순간에 대해서는 최적이지만 그걸 종합적으로 봤을 떈 최적이라는 보장은 절대 없다. (정답으로 찾는게
- 특정 조건이 맞아서 탐욕법이 최적의 해가 될 수 있거나.
- 항상 최적의 해가 아니여도 크게 상관~
- 최소 신장 트리
(항상 거스름돈을 주는 방법 문제)
동적프로그래밍 ( 어떤 답을 구하기 위해서 이전의 답을 참고 하는 방법)
(내가 구하고자 하는 문제를 잘게 쪼개서 작은 단위부터 푸는 방법)
(피보나치 문제)
많은 유형을 보는 방법 밖에 없을 것 같다.
피보나치 문제 주의할 것
1. 오버플로우를 조심한다. 150만 되도 long long을 넘어간다.
->나머지를 리턴하게 하는 방법
2. "bigint.h" long long보다 더 큰 자료구조를 이용하는 방법
나머지에 관한 얘기나 제약 사항이 없으면 큰 숫자를 표현해야하는 자료구조를 만들어야 한다.
문제를 재정의 하는 것도 괜찮다. N을 ~이하로 재정의하고 ~은 -1 리턴
문제는 못 맞추지만, 문제에 대한 이해(오버플로우)를 표현한 것
깃허브, 블로그, 스터디