C코드
-
[CS50 코칭스터디] CS50 코칭스터디2기_6주차CS50 코칭스터디2기 2021. 2. 28. 14:15
6주차_자료구조 자료구조 자료구조, 데이터 구조란 컴퓨터에 자료를 효율적으로 저장하는 방식을 말하며 올바른 자료구조를 사용하는 것은 결국 메모리를 절약하고 수행시간을 절약하는 데 도움을 줄 수 있게 됩니다. 큐 큐는 메모리 구조에서 살펴봤듯이 값이 아래로 쌓이는 구조입니다. 값을 넣고 뺄 때 ‘선입 선출’ 또는 ‘FIFO’라는 방식을 따르게 됩니다. 가장 먼저 들어온 값이 가장 먼저 나가는 것이죠. 은행에서 줄을 설 때 가장 먼저 줄을 선 사람이 가장 먼저 업무를 처리하게 되는 것과 동일합니다. 배열이나 연결 리스트를 통해 구현 가능합니다. 스택 반면 스택은 역시 메모리 구조에서 살펴봤듯이 값이 위로 쌓이는 구조입니다. 따라서 값을 넣고 뺄 때 ‘후입 선출’ 또는 ‘LIFO’라는 방식을 따르게 됩니다. ..
-
[CS50 코칭스터디] CS50 코칭스터디2기_5주차CS50 코칭스터디2기 2021. 2. 19. 18:28
5주차_메모리와 포인터 메모리의 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 합니다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요합니다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있습니다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 다음과 같습니다. 코드(code) 영역 메모리의 코드(code) 영역은 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code) 영역이라고도 부릅니다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 됩니다. 데이터(data) 영역 메모리의 데이터(data) 영역은 프로그램의 전역 변수와 정적(static) 변수가 저장되는 영역입니다. 데이터 영역은 프로그..
-
[CS50 코칭스터디] CS50 코칭스터디2기_4주차CS50 코칭스터디2기 2021. 2. 8. 00:30
4주차_알고리즘 알고리즘은 알고리즘이란 입력값을 출력 값의 형태로 바꾸기 위해 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열입니다. 이러한 일련의 순서적 규칙들의 나열 방법에 따라 알고리즘의 종류가 달라집니다. 같은 출력 값이라도 알고리즘적 순서 나열에 따라 출력 값에 도달하는 시간은 서로 다를 수 있습니다. 알고리즘에서 가장 중요한 건 정확성과 효율성입니다. 정확성은 내가 구현한 알고리즘이 정답을 찾았는지입니다. 효율성은 작업을 완료하기까지 얼마나 시간과 노력을 덜 들일 수 있는지에 대한 척도입니다. 미션 : 숫자 애너그램 찾기 4주 차 팀미션은 알고리즘의 정확성과 효율성을 생각해보면서 코드를 구현해보았습니다. #include #include int main(void) { int a[5]..
-
[CS50 코칭스터디] CS50 코칭스터디2기_3주차CS50 코칭스터디2기 2021. 1. 29. 23:05
3주차_C언어팀미션 3주 차부터는 팀당 1개의 미션을 진행하였습니다. 그런데 난이도가 갑자기 급격하게 상승한 느낌이 있습니다 팀 미션은 학점을 계산해보자! 입니다. 네이버 부스트 코스에서 미션에 관한 자세한 내용은 공유를 금지한다고 합니다 ㅜㅜ.. 정답코드 #include #include #include #include void Determine_Grades(int input, int scores[], char *grades[]); int main(void) { int input = 0; int scores[9] = {95, 90, 85, 80, 75, 70, 65, 60, 0}; string grades[9] = {"A+", "A", "B+", "B", "C+", "C", "D+", "D", "F"};..