본문 바로가기

Education

(77)
[부스트 코딩 뉴비 챌린지 2020] week6_미션02 : 연결 리스트로 Stack 만들기 ✔︎ 미션 2. 1. 미션 제목 연결리스트로 Stack 만들기 2. 지시문 EDWITH CS50 강좌에서 배운 Stack을 보조미션 1에서 배열을 이용해서 구현해 보셨는데요, 이번에는 연결리스트를 이용해서 Stack을 구현하는 과제입니다. 지난 문제와 마찬가지로 아래 표에 함수의 주석 처리된 부분들에 여러분의 코드를 채워 넣어주세요. #include #include typedef struct stackNode { int data; struct stackNode* next; } StackNode; StackNode* createStackNode(int data) { StackNode* node = (StackNode*)malloc(sizeof(StackNode)); node->data = data; nod..
[부스트 코딩 뉴비 챌린지 2020] wee6_미션01 : 배열로 Stack 만들기 ✔︎ 미션 1. 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 = (Stack*)malloc(sizeof(Stack)); stack->capacity = capacity; stack->to..
[부스트 코딩 뉴비 챌린지 2020] week6_샘플미션 : 2개의 연결 리스트 합치기 💡 샘플미션 (제출용X) ► 뉴비 여러분들께서 미션을 수행하시는데 도움이 될 수 있게 미션샘플을 답지와 함께 제공해드립니다. 미션샘플은 제출용이 아닌 아래의 미션을 풀기위해 참고하기 위한 미션입니다. ✔︎ 샘플미션. 1. 미션 제목 2개의 리스트 합치기 2. 지시문 EDWITH CS50 강좌를 모두 수강한 여러분은 유능한 개발자로 회사에 소문이나 핵심 부서로 배치되었습니다. 핵심부서의 주요 임무 중 하나는 다른 부서의 업무를 종합하는 일입니다. 부서 배치 첫 업무로 A부서에서 수행한 업무와 B부서에서 수행한 업무를 합치는 일을 맡게 되었습니다. A부서에서는 미국 지사들의 매출이 오름차순으로 정렬된 자료를 연결리스트 형태로 보내왔고, B부서에서는 한국 지사들의 매출이 오름차순으로 정렬된 자료를 연결리스트 ..
[부스트 코딩 뉴비 챌린지 2020] week5_LIVE 강의 메모리 되짚어보기 출제자에게 듣는 '5주차 미션' (1) (2) 처음 보는 함수에 대해서는 항상 검색을 하여 어떤 인자를 사용하는지 등 공부를 한 후 사용하도록 하자. (3) 위의 빨간색 글자에서 배열의 첫 번째 칸 메모리 주소는 arr[0]인데 TEAM5-2에서 잘못 작성하였다. 윤태웅님과 함께하는 사전질문 Q&A 1. 해결해나가는 것 자체가 대단하다. 원하는 결과물을 내는 것 자체가 좋은 것. 또 경험이 많은 사람들의 코드를 따라 클론 코딩을 작성해보면서 효율적인 코딩하는 방법을 익히자. 2. 기초를 모르면 결국에는 신기술을 배워도 이해를 못할 것. 문법조차 모르면 나중에 블록체인 코드도 짤 수도 없을 거고 구현도 못할 거다. 원하는 분야가 있다면 분야를 배우기 위한 기초 공부, 중간 공부, 심화 공..
[부스트 코딩 뉴비 챌린지 2020] week6: 자료구조 1. malloc과 포인터 복습 들어가기 전에 이번 강의부터는 C로 구현할 수 있는 다양한 데이터 구조를 배우게 됩니다. 데이터 구조를 정의하고 관리하는데 있어서 메모리와 포인터에 대한 개념을 정확히 이해하는 것이 중요합니다. 먼저 지난 시간에 배운 malloc 함수와 포인터를 복습할 수 있는 작은 예제를 살펴 보겠습니다. 학습 목표 포인터의 개념과 malloc 함수의 용법을 잘 이해할 수 있습니다. 핵심 단어 포인터 malloc 학습하기 지난 강의에서 우리는 몇 개의 새로운 c문법을 배웠다. 포인터로 메모리상의 실제 주소를 확인할 수도 있었고, * 연산자나 malloc과 free같은 함수로 메모리를 관리하는 방법에 대해서도 배웠다. 복습으로 다음과 같이 버그가 있는 짧은 코드를 보자. int main(..
[부스트 코딩 뉴비 챌린지 2020] week5_미션02 ✔︎ 미션 2. 1. 미션 제목 메모리와 OverFlow 개념 정리 2. 지시문 1) 수업에서 언급되었던 Heap overflow와 stack overflow에 대해서 어떤 경우에 발생이 되는지 서술해주세요. 2) Strcpy와 strncpy의 차이점을 서술해보세요. (어떤 것을 추천하는지와 그 이유에 대해서 서술해주세요.) 3) 메모리 초기화, 복사, 이동, 비교와 같은 함수가 라이브러리에 있습니다. 사용방법을 숙지하고, 간단하게 코드로 구현 후 정상적으로 동작이 되는지 확인해보세요. 3. 핵심 개념 #문자열복사 #string.h 🔔 답안 1) 수업에서 언급되었던 heap overflow와 stack overflow에 대해서 어떤 경우에 발생이 되는지 서술해주세요. Heap overflow and St..
[부스트 코딩 뉴비 챌린지 2020] week5_미션03 ✔︎ 미션 3. 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. 핵심 개념 #sort #bubblesort #버블정렬 🔔 답안 #include void sort(int n, int arr[]); i..
[부스트 코딩 뉴비 챌린지 2020] week5_미션01 ✔︎ 미션 1. 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차 배열의 경우 이중 포인터로 접근할 수 있으니 활용해보시길 바랍니다. 이중 For문을 활용하시면 쉽게 접근할 수 있습니다. 예) 출력값: 26 27 2..

반응형