목록알고리즘 (258)
라떼는말이야
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/4ca8894af0be47988240c043eee8bd4c 💡 샘플미션 1. 미션 제목 www.notion.so 1. 미션 제목 2개의 리스트 합치기 2. 지시문 EDWITH CS50 강좌를 모두 수강한 여러분은 유능한 개발자로 회사에 소문이나 핵심 부서로 배치되었습니다. 핵심부서의 주요 임무 중 하나는 다른 부서의 업무를 종합하는 일입니다. 부서 배치 첫 업무로 A부서에서 수행한 업무와 B부서에서 수행한 업무를 합치는 일을 맡게 되었습니다. A부서에서는 미국 지사들의 매출이 오름차순으로 정렬된 자료를 연결리스트 형태로 보내왔고, B부서에서는 한국 지사들의 매출이 오름차순으로 정렬된 자료를 연결리스트 형태로 보내왔습니다. 여러분의 업무는 이제 두 연결리스트를 하나의 연결리스트로 ..
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입니다. 중력은 회전이 완료된 이후에 적용되..
www.notion.so/3-8a779ae91adc4df794668aacba06f1be ✔︎ 미션 3.최단 시간에 다리건너기 ✔︎ 미션 3. www.notion.so ✔︎ 미션 3. 1. 미션 제목 최단 시간에 다리건너기 2. 지시문 N명의 사람들로 구성된 한 그룹이 밤중에 다리를 건너려고 합니다. 한 번에 최대 두 명 까지만 다리를 건널 수 있으며 다리 위를 지나가는 사람들은 반드시 손전등을 가지고 가야 합니다. n명의 사람들한테는 손전등이 한 개밖에 없기 때문에 남아 있는 사람들이 다리를 건너려면 어떤 식으로든 손전등을 가지고 다시 다리를 건너지 않은 사람들이 있는 곳으로 돌아가는 일을 해야합니다. 사람마다 다리를 건너는 속도가 다른데, 그룹의 속도는 가장 느린 구성원의 속도에 따라 결정됩니다. 가장..
www.notion.so/2-13236306f1d1473b89ec0b7dc3c04cfe ✔︎ 미션 2.친구들과 최단거리에 있는 집 구하기 ✔︎ 미션 2. www.notion.so ✔︎ 미션 2. 1. 미션 제목 친구들과 최단거리에 있는 집 구하기 2. 지시문 David의 친구들은 한 거리에 모두 모여살고 있습니다. David은 이번에 친구들이 살고 있는 거리로 이사를 가기로 했는데, 친구들의 집에서 거리가 가장 가까운 집을 구해서 그곳으로 이사를 하고 싶습니다. 모두 같은 거리에 살고 있으므로 아래 그림과 같이 친구들의 집 위치를 수직선 상에 표현할 수 있고, 그 때 집은 항상 정수점 위에만 있다고 가정합니다. 이 때, David이 어느 위치에 있는 집으로 이사를 가야 모든 친구들의 집까지의 거리의 합이..