일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 컴포넌트스캔
- 카카오 코테
- python
- @Component
- nestjs typeorm
- C++
- Nodejs
- Spring
- 스프링
- 구조체배열
- @Autowired
- 가상면접사례로배우는대규모시스템설계기초
- 프로그래머스
- C언어
- thymeleaf
- nestjs auth
- 카카오 알고리즘
- TypeORM
- 카카오
- 파이썬
- git
- spring boot
- 코딩테스트
- nestJS
- AWS
- 시스템호출
- 알고리즘
- OpenCV
- 해시
- 코테
- Today
- Total
목록# CS Study/DS Algorithm (30)
공부 기록장 💻

내가 작성한 코드: (짝수번째 인덱스의 데이터 삭제 구현 실패) // data.txt 파일에 있는 숫자들을 읽어 연결리스트에 저장하고 출력, 탐색, 최대 최소 출력 #include #include typedef int element; typedef struct nArr { element data; struct nArr* link; }nArr; int main() { FILE* fp; nArr* list = NULL, * p, * prev=NULL, * next, *tmp=NULL; int getNum; int isEven = 0; element max, min; // 파일 열어 데이터 개수 저장 // 파일을 열어 파일의 끝이 아닐 때까지 계속 새로운 노드 생성하여 리스트에 삽입 fp = fopen("da..
단순 연결 리스트에서는 선행 노드에 접근하기 어렵다는 점을 개선하여, 원형 연결 리스트에서도 현재 노드의 바로 이전 노드를 접근하려면 전체 리스트를 한 바퀴 순회해야 하는 문제점이 있다. 이를 개선하여 양쪽 방향으로도 순회가 가능한 노드를 연결한 리스트인, '이중 연결 리스트'에 대해 알아보자. 이중 연결 리스트의 구조 - 하나의 노드가 선행 노드와 후속 노드에 대한 두 개의 링크를 가지는 리스트 - rlink(right link), llink(left link) - 헤드 노드(head node): 데이터를 가지고 있지 않은 노드 rrlink: 첫번째 데이터를 가지고 있는 다음 노드의 주소 llink: 마지막 데이터를 가지고 있는 노드의 주소 => 특별한 헤드 노드를 추가함으로써, 첫번째 노드와 마지막 ..
#include #define MAX_LIST_SIZE 10 #define TRUE 1 #define FALSE 0 typedef int element; typedef struct ArrayListType { element data[MAX_LIST_SIZE]; int size; }ArrayListType; // init_list void init_list(ArrayListType* L) { L->size = 0; } // is_full int is_full(ArrayListType* L) { return L->size == MAX_LIST_SIZE; } // is_empty int is_empty(ArrayListType* L) { return L->size == 0; } // insert_first v..
data.txt 2 이대호 80 75 90 75 1 박찬호 80 100 75 60 3 박세리 100 50 100 45 소스코드 : #include #include #include // 학생의 데이터를 담는 구조체를 새로운 타입 element로 정의 typedef struct student { int num; char name[20]; // 이름은 4글자까지 가능 int kor, math, eng, com; }element; // 이중 연결리스트의 자기참조구조체 구현 typedef struct DListNode { struct DListNode* llink; element data; struct DListNode* rlink; }DListNode; // 함수 원형 void init(DListNode* ph..
(C언어로 쉽게 풀어쓴 자료구조 연결리스트 Lab + 추가 변형) 1. 과일의 이름을 저장하는 단순 연결 리스트 (p.200) + 사용자로부터 직접 문자열 입력 받기 + 맨 앞의 노드에 해당하는 메모리를 반환하는 함수 delete_first 구현 * 주의할점 main 함수에서 저장된 각 동적 메모리를 반환하기 위해서 반복문을 이용하여 delete_first 함수를 호출할 때, delete_first 함수 내에서 이미 메모리를 반환하고 head의 값이 변경되고 있다는 점을 유의하여 작성해야 함. #include #include #include typedef struct { char name[100]; }element; typedef struct { element data; struct ListNode* l..

scores.txt 정우람 100.0 45.9 78.5 양현종 64.8 78.9 100 박해진 82.4 93.5 88.4 추신수 99.5 43.9 88.3 박찬호 100.0 99.9 78.5 이대호 88.9 99.9 78.9 강백호 85.4 78.6 31.5 이재학 82.4 93.5 78.4 #include #include typedef struct element { char name[20]; double kor, math, com, total; }element; typedef struct ListNode { element data; struct ListNode* link; }ListNode; ListNode* create_node(element data, ListNode* link); void inse..
2021/04/02 자료구조 실습 5주차 예제들 1. 1차원 배열: ISBN 문제 내가 작성한 코드: #include #define SIZE 13 int is_ISBN(int arr[], int size) { int sum = 0; for (int i = 0; i < size; i++) { if (i % 2) // 홀수번째인 경우 sum += arr[i]; else sum += 3 * arr[i]; // 짝수번째인 경우 3을 곱한 값을 저장 } if (sum % 10) // ISBN 코드가 올바르지 않음 return 0; else return 1; // 코드가 올바른 경우 } int main(void) { FILE* fp = fopen("data.txt", "rt"); int arr[SIZE]; for ..
(C언어로 쉽게 풀어쓴 자료구조 ch 3.3) 다항식의 표현 p(x) = a(x)^n a : 계수 x : 변수 n : 차수 구조체와 배열을 이용하여 다항식을 표현하는 두 가지 자료 구조를 알아보고, 덧셈 연산을 이용해 두 다항식에 대한 결과 값을 저장하는 방법을 살펴보자 최고 차항의 차수와 배열을 멤버로 갖는 구조체로 표현하여 하나의 다항식의 모든 항을 저장하는 구조체 변수로 선언하는 방법 계수가 0인 차항을 포함하여, 모든 차항의 계수값들을 배열 coef에 저장한다. - 단점: 계수가 0인 희소 다항식의 경우엔 공간의 낭비가 심하다. - 장점: 덧셈이나 뺄셈 연산 시, 같은 차수의 계수를 쉽게 찾을 수 있으므로 알고리즘은 간단하다. #include #define _CRT_SEC..
2주차 실습 과제 - 3번째 문제 문제 내가 작성한 코드 #include #include #pragma warning(disable : 4996) int main(void) { FILE* fp; // 파일 포인터 int i, j; // 반복문의 제어 변수 int data[12][20]; // 12개월-20년(충분한 열 공간을 미리 확보)의 데이터를 저장하는 2차원 배열 int yCount = 0; // year Count- 연도를 2000년부터 시작하여 연도가 증가할 때마다 변수 값 증가시킬 변수 int yearSum = 0; // 각 연도의 데이터들의 총합 double yearAvg = 0.0; // 각 연도의 데이터들의 평균 double monthAvg[12] = { 0.0, }; // 월별 평균 i..
자료구조1 실습 2주차 data.txt 파일 20184035 80 76 91 20184095 76 42 85 20184057 83 37 76 20184033 71 86 75 20184022 94 57 80 내가 작성한 코드 #include #include #include // _CRT_SECURE_NO_WARNINGS (속성 전처리기 추가) #pragma warning (disable : 4996) int main(void) { FILE* fp; int STUD[5][5] = { 0, }; // 5명의 학번/국어/영어/수학/총점을 저장하는 배열 double avg[5] = { 0, }; // 5명의 과목 평균점수 저장 int subjectSum[3] = { 0, }; // 각 과목에 대한 총점 int s..