목록c (18)
라떼는말이야
www.notion.so/4-3f929c9129e541a98d860c38ae7f2afb ✔︎ 미션 4 1. 미션 제목 www.notion.so 1. 미션 제목 뒤에서 k번째 노드는 무엇일까요? 2. 지시문 이번에는 연결리스트의 응용 문제를 풀어보겠습니다. 연결리스트가 하나 주어졌을 때 해당 연결 리스트의 뒤에서 k번째 노드의 값은 무엇일지 알아낼 수 있을까요? 예를 들어, 9->8->4->14->5 라는 리스트가 주어질 때 뒤에서 2번째 노드를 출력하라고 하면 14가 출력이 되어야 합니다. 연결리스트가 이미 만들어져 있다고 가정하고, 아래와 같은 함수가 주어졌을 때 뒤에서 k번째 노드를 출력할 수 있을까요? typedef struct node{ int data; struct node* next; } No..
www.notion.so/3-9562fe0842f947a9918b0bab6796ab8a ✔︎ 미션 3 1. 미션 제목 www.notion.so 1. 미션 제목 배열로 Queue 만들어보기! 2. 지시문 이번 과제에서는 Queue를 구현해 봅시다! Stack 과 Queue의 구현은 얼핏 보면 비슷해 보이지만 막상 구현해 보면 많은 부분이 다르답니다. 어떻게 구현하면 좋을지 고민이 많이 필요할 수도 있습니다. 이미 구현된 부분들을 잘 살피고 어떤 식으로 구현해야 할 지 생각해서 채워주세요. #include #include typedef struct queue { int front; int rear; int size; int capacity; int* array; } Queue; Queue* createQue..
www.notion.so/2-bd4c4037074c42da83e73d016632c3f6 ✔︎ 미션 2 1. 미션 제목 www.notion.so 1. 미션 제목 연결리스트로 Stack 만들기 2. 지시문 EDWITH CS50 강좌에서 배운 Stack을 보조미션 1에서 배열을 이용해서 구현해 보셨는데요, 이번에는 연결리스트를 이용해서 Stack을 구현하는 과제입니다. 지난 문제와 마찬가지로 아래 표에 함수의 주석 처리된 부분들에 여러분의 코드를 채워 넣어주세요. #include #include typedef struct stackNode { int data; struct stackNode* next; } StackNode; StackNode* createStackNode(int data) { StackNod..
www.notion.so/1-6348c7f452b24565adbe1ce197c65f5e ✔︎ 미션 1 1. 미션 제목 www.notion.so 1. 미션 제목 배열로 Stack 만들기 2. 지시문 EDWITH CS50 강좌에서 배운 Stack을 C 언어로 구현해 보겠습니다. Stack을 구현하는 방법은 정말 많은데요, 이번 문제에서는 Stack을 배열을 이용해서 구현하는 방법에 대해서 알아보겠습니다. 아래 표에 함수의 주석 처리된 부분들에 여러분의 코드를 채워 넣어주세요. #include #include typedef struct stack{ int top; int capacity; int* array; } Stack; Stack* createStack(int capacity) { Stack* stack..
www.notion.so/3-37cf1ef82d3a4ac7ace7f745dc88b32b ✔︎ 미션 3. 1. 미션 제목 www.notion.so 1. 미션 제목 정렬을 해보자 2. 지시문 여러분은 데이터를 정리하기 위해서 엑셀을 많이 사용하실 것입니다. 게다가, 데이터들을 보기 좋게 하기 위해서 정렬 기능을 많이 사용하실 텐데 간단한 버블 정렬 코드를 배열이 아닌 포인터를 활용하여 완성해 보세요. 예) main code는 다음과 같습니다. sort function 을 완성해보세요 int main() { int n = 7; int arr[7] = { 0, 25, 10, 17, 6, 12, 9 }; sort(n, arr); return 0; } 출력값 : 0, 6, 9, 10, 12, 17, 25 3. 핵심..
www.notion.so/2-7f4d4fc32a394624a1fc9585e408bf2f ✔︎ 미션 2. 1. 미션 제목 www.notion.so 1. 미션 제목 메모리와 OverFlow 개념 정리 2. 지시문 수업에서 언급되었던 Heap overflow와 stack overflow에 대해서 어떤 경우에 발생이 되는지 서술해주세요. Strcpy와 strncpy의 차이점을 서술해보세요. (어떤 것을 추천하는지와 그 이유에 대해서 서술해주세요.) 3. 핵심 개념 #문자열복사 #string.h 나의 풀이 1) Heap overflow와 Stack overflow 컴퓨터 메모리는 크게 4가지 영 역으로 나뉘어진다. 코드 영역 : 프로그램이 올라가는 영역 (=텍스트 영역). CPU는 이 영역에 저장된 명령어를 하나..
www.notion.so/1-b8430429b95b49ac9a94f51b9c9b134f ✔︎ 미션 1. 1. 미션 제목 www.notion.so 1. 미션 제목 포인터를 이중으로 활용해보자 2. 지시문 유사 문제에서 배열을 포인터로 접근하는 방법을 학습하였습니다. 2차원 배열(5x5)을 선언한 후 포인터로 접근하여서 순서대로 출력하는 코드를 작성해보세요 Int arr[6][5]={{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}}; 배열의 값을 접근할 경우 arr[m][n] 또는 포인터로 접근할 수 있습니다. 2차 배열의 경우 이중 포인터로..
www.notion.so/4-0ac2b7de9f1e47118283ed80f1557441 ✔︎ 미션 4.가장 큰 낙하거리 찾기 ✔︎ 미션 4 (난이도 최상). www.notion.so ✔︎ 미션 4 (난이도 최상). 1. 미션 제목 가장 큰 낙하거리 찾기 2. 지시문 상자들이 쌓여있는 방이 있습니다. 방이 오른쪽으로 90도 회전하여 상자들이 중력의 영향을 받아 낙하한다고 할 때, 낙하거리가 가장 큰 상자를 구하여 그 낙하거리를 출력하는 프로그램을 작성해 봅시다. 아래 그림에서 총 26개 상자가 회전 후, 오른쪽 그림과 같은 상태가 됩니다. A상자의 낙하거리가 7로 가장 크므로 7을 출력하면 됩니다. 회전 결과, B 상자의 낙하거리는 6이고, C상자의 낙하거리는 1입니다. 중력은 회전이 완료된 이후에 적용되..