분류 전체보기82 [C] Stack 구현 (non -Circular) [C] Stack 구현 (non -Circular) - Code #include #define MAX_SIZE 10 void push(int data); int pop(); int stack_full(); int stack_empty(); int stack[MAX_SIZE] = {}; int top = -1; int main(){ int want= 0; //operation number int input = 0; //input data while (1) { printf("What do you want? 1.push 2.pop 3.end :"); scanf_s("%d", &want); switch (want) { case 1: if (stack_full()) // is stack full? printf(".. 2022. 3. 14. [C] 링크드 리스트 LinkedList [C] 링크드 리스트 LinkedList - 진행 연결형 리스트(Linked List)는 한 배열에 모든 게 들어있는 게 아니라, 리스트가 자신의 첫번째 노드인 headnode와 총 몇 개의 노드가 있는지 count만 가지고 있다. 즉, 리스트는 첫번째 노드와 리스트 길이만을 가지고 있다. 노드는 자신의 들고있는 data와 다음 노드를 가리키는 포인터를 가지고 있다. 이번에도 파일은 main.cpp, LinkedList.h, LinkedList.cpp로 나눠서 진행한다. 먼저 LinkedList.h 파일에 typedef로 list와 node를 정의해준다. main.c 에서 typedef로 정의한 리스트 변수를 하나 만든다. 이 링크드리스트를 사용하기 위해 필요한 기능은 3가지가 있다. (데이터 추가 방식.. 2022. 3. 13. [C] 함수 포인터 [C] 함수 포인터 -함수 포인터 그동안 포인터를 배우면 어떤 변수의 주소를 얻어오는 걸 할 수 있게 되었다. 그렇다면 변수의 주소뿐만 아니라, 함수의 주소도 가져올 수 있다. // 포인터로 동적으로 함수를 불러오기 void Test() { } void Test2() { } int main() { //함수 포인터: 반환타입, 주소, 인자 void(*pFunc)(void) = nullptr; //선언 당시 함수 타입이 맞아야 호출가능 pFunc = Test; pFunc(); // Test 함수가 불려진다. pFunc = Test2; pFunc(); // Test2 함수가 불려진다. } 2022. 3. 12. [C] Bubble sort [C] Bubble sort 시간 복잡도 O(n^2)이다. 시간 복잡도가 높은 편이지만 구현이 간단하다. code void BubbleSort(int* _pData, int _iCount) { // 데이터가 1개 이하면 정렬하지 않는다. if (_iCount _pData[i + 1]) //앞의 값이 뒤의 값보다 클때 서로를 바꾼다. { int iTemp = _pData[i]; _pData[i] = _pData[i + 1]; _pData[i + 1] = iTemp; bFinish = false; } } if (bFinish) break; } } void main() { int iArr[10] = {87, 644, 21, 55, 879, 32, 1, }; //임의의 배열 BubbleSort(iArr, 10).. 2022. 3. 11. [HackerRank] Balanced Brackets [HackerRank] Balanced Brackets 문제 링크 https://www.hackerrank.com/challenges/balanced-brackets/problem?isFullScreen=true 생각 더보기 닫는 괄호까지 달린다. 닫는 괄호가 나오면 앞부분을 자른다. 앞부분은 sliced 앞부분에서 제일 뒤에 있는 연괄호를 찾는다(역정렬) 앞부분에서 연 괄호를 찾는다 짝을 맞췄으니 pop으로 버린다 반복반복 절대 좋은 코드는 아니라고 생각하기에 다양하게 시도해보길 바란다. 같이 알고리즘 문제를 풀던 지인분의 코드는 정말 깔끔하고 참신해서 더 분발해야겠다. 지인분은 .replace()를 이용해서 10줄이하로 푸셨다. 굿굿 코드 def isBalanced(s): s = list(s) res.. 2022. 3. 11. 이전 1 ··· 4 5 6 7 8 9 10 ··· 17 다음