전체 글
-
01 시간복잡도Algorithm 2021. 12. 29. 19:34
1.연습문제 int func2(int arr[], int N){ int occur[101] = {}; for(int i = 0; i < N; i++){ if(occur[100-arr[i]] == 1) return 1; occur[arr[i]] = 1; } return 0; } O(N) 시간복잡도로 주어진 배열 arr에 두 수의 합이 100이 되는 숫자 찾기 예시) int arr[5]={1,23,53,77,60} 출처 블로그: https://blog.encrypted.gg/927?category=773649 출처:바킹독 GitHub - encrypted-def/basic-algo-lecture: 바킹독의 실전 알고리즘 강의 자료
-
03 배열Algorithm 2021. 12. 29. 19:27
1. 알게된 개념 (1) 배열에서 시간 복잡도 임의의 위치에 있는 원소를 확인/변경==O(1) 원소를 끝에 추가==O(1) 마지막 원소를 제거==O(N) 2. 추가 제거 함수 구현 (1) insert 함수 void insert(int idx, int num, int arr[], int& len){ for(int i = len; i > idx; i--) arr[i] = arr[i-1]; arr[idx] = num; len++; } 길이가 len인 배열이다. inx 인덱스에 num을 추가하는 함수이며 +1 된 마지막 index인 len index부터 idx전까지 요소들을 한칸씩 뒤로 땡겨온다. 그 후, arr[idx]에 num을 저장한다. len++로 배열의 길이를 증가시킨다. (2) erase 함수 voi..