sccc 썸네일형 리스트형 알고리즘 DP 정리 DP? Dynamic Programming 문제를 해결할 때, 큰 문제를 작은 문제로 분할하여 푸는 방법. 분할 정복 알고리즘과 유사. DP는 계산했던 결과를 저장하여 불필요한 연산 제외. 크게 Top-Down, Button-Up 방법 존재. 메모이제이션 (Memoization) : 계산한 값 저장하는 것 특성 Overlapping Subproblems : 큰 문제 --> 작은 문제 --> ... OPtimal Structure : 작은 문제의 결과값(return) --> 큰 문제의 결과값 --> ... 문제풀이 #include int main(){ int n; int a=0,b=1,result=0; scanf("%d", &n); if(n==1) { printf("1"); return 0; } for(i.. 더보기 기초 자료구조 정리(리스트, 그래프, 트리) 리스트(List) 연결 리스트와 같이 순서가 있는 자료구조 C에선 구조체를 이용해 구현 가능 C++에선 #include 를 통해 사용 가능 상황에 따라 배열보다 효율적으로 문제를 풀 수 있음 std::list std::list::iterator #include #include using namespace std; int main(){ list lt; list::iterator iter = lt.begin(); int n, m; scanf("%d %d", &n, &m); for(int i=1;i 더보기 알고리즘 정렬 정리 선택 정렬 (Selection Sort) 주어진 리스트에서 최소값을 맨 앞으로 옮기며 정렬. 내림차순의 경우 최대값을 맨 앞으로 옮김. 시간 복잡도 : //( O(n^2) //) #include #include using namespace std; int main(){ int n,min=0; int i,j; int num[1001]; scanf("%d", &n); for(int i=0;i 더보기 이전 1 다음