부스트코스
-
[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"};..
-
[CS50 코칭스터디] CS50 코칭스터디2기_2주차CS50 코칭스터디2기 2021. 1. 24. 14:51
2주차_C언어팀미션 문제 1 여러분은 기존 오프라인에서 리테일 사업으로 유명한 신선식품 업체에 입사한 개발자 입니다. 최근 디지털 트랜스포메이션 이슈에 따라 기존 오프라인으로 운영하던 리테일 사업을 온라인으로 전환하게 되었습니다. 여러분에게는 기존 오프라인에서 일어나던 일들을 온라인 쇼핑몰로 전환하는 임무를 진행하게 됩니다. 성공적으로 첫 임무를 완수하여 팀장님의 신임을 얻고 성취감도 느껴보세요! 이제 입사한지 얼마 되지 않았기 때문에 간단한 재고 관리 프로그램 개발의 일부를 맡게 되었습니다. 주문이 들어왔을 때 재고량을 적절하게 관리하지 못 하면 재고가 없는 물품의 주문이 추가로 일어날 수 있습니다. 그러면 고객의 불만이 발생할 수 있기 때문에 재고량을 관리가 필요합니다. 또 이렇게 관리한 데이터를 바..
-
[CS50 코칭스터디] CS50 코칭스터디2기_1주차CS50 코칭스터디2기 2021. 1. 12. 23:36
CS50 코칭 스터디 2기 친구가 네이버 부스트 코스 CS50 강의를 추천해서 수강신청을 할 무렵에 CS50 코칭 스터디 2기를 모집을 하고 있었다. 그냥 공부하는 것보다는 함께 공부하는 게 효율적이고 코치님들이 1:1 밀착관리, CS50 없던 라이브 강의도 진행한다고 해서 신청을 했는데 선발돼버렸다.!! 일단 선발됐으니 6주간 열심히 달려야겠다. ㅋㅋ 매주마다 팀별 미션, 과제, 퀴즈를 수행해야 하고 이러한 것들이 비전공자인 나에게 개발자가 되는 좋은 발판이 되기를 생각하며 앞으로 블로그에 6주간 공부한 내용을 여기에 작성할 예정이다. 1주 차_컴퓨팅 사고 요약 컴퓨터 과학 컴퓨터 과학은 문제 해결에 대한 학문입니다. 문제 해결은 입력(input)을 전달받아 출력(output)을 만들어내는 과정입니다...
-
[Tip]비전공자를 위한 코딩 인강 사이트 모음(무료,유료)programming/Python 2020. 10. 5. 17:50
“개발자가 되어야겠다” 생각하고 뭐부터 해야하지 모를때 맨땅에 해딩하듯 일단 공부부터 해야지 하는 분들은 주목하셔서 한번 보시길 바랍니다(저는 맨땅에 해딩했습니다..) 각 사이트마다 제 나름대로 장점과 단점을 작성해보았습니다. 1.생활코딩 opentutorials.org/ opentutorials.org 오픈튜토리얼스 업데이트 opentutorials.org 코딩을 처음 시작하는분들 현업에 계신 분들도 다아는너무나도 유명한 '생활코딩' 입니다 장점 - 모든 수업이 무료이며 동영상 강의까지 있어 이해하기가 쉽다. - 대표적으로 Java가 있으며 그 외에도 다양한 언어들과 프레임워크들에 대해 폭넓게 학습할 수 있다. - 코딩을 처음 배우는 사람도, 어느 정도 언어에 대한 지식은 가지고 있지만 그다음에 뭘 해..