왜 배우는가?컴퓨터는 하드웨어와 소프트웨어의 조합이다. 각 구성요소를 컴포넌트라고도 한다. 컴포넌트들의 상호작용이 프로그램의 정확성과 성능을 결정한다. 따라서 개발자는 효율적인 프로그램을 작성하기 위해서는 컴퓨터 구조에 대한 이해가 필요하다.어떻게 배우는가?프로그램의 생명주기를 추적하고 이해하면서 시스템에 대한 개념, 용어들을 학습한다. 책에서는 hello 프로그램이 텍스트 파일로 생성 된 후에 컴퓨터가 실행하기까지의 과정을 소개하면서 관련 개념들을 설명한다.#include int main(){ prinf("Hello, world\\n"); return 0;}
하노이탑 문제란큰판이 작은판보다 반드시 아래에 배치되어야하는 규칙을 지키면서 탑을 한 지점에서 다른 지점으로 옮기는 문제이다.아이디어하노이탑 문제는 분할정복 기법으로 접근하여 풀 수 있다. 즉, 하나의 큰 문제를 여러개의 작은 문제로 쪼개어서 풀 수 있다.설계# 디스크 옮기기def move(from, to): disk = tower[from].top() tower[from].pop() tower[to].push(disk)# 하노이 탑 옮기기def hanoi(n, from, temp, to): if n == 0: return hanoi(n -1, from, to, temp) move(from, to) hanoi(n -1, temp, from, to) 하노이탑 문제는 세개의 작은 문제로 쪼갤 수 있다.① ..
문제의 의미미로찾기란 시작점에서 종료지점까지의 경로를 찾는 문제이다.아이디어시작지점에서 종료지점까지 가려면 현재지점에서 다음에 갈 수 있는 지점들을 탐색해야한다.그림에서 1은 벽으로 갈 수 없는 곳, X는 이미 지나온 곳, O는 갈 수 있는 곳이다. 현재지점이 종료지점인지 검사한 후, 아니라면 지나온 곳으로 표시하고 주변 지역들을 탐색할 곳으로 탐색리스트에 등록을 한다.탐색리스트에서 후보를 하나 꺼낸 후 종료지점인지, 종료지점이 아니라면 갈 수 있는 곳인지 여부를 확인하고 종료지점에 도달할 때까지 로직을 반복한다.설계while true 후리스트에서 후보 하나 꺼내기 if 종료지점 종료 if !벽 and !지나온 곳 지나온 곳 표시 주변 지역을 후보로 후보리스트에 등록후보리스트에 등록할 때 재귀호..
이번 주 목표유데미 풀스택 섹션 33 ~ 섹션36 까지 정리PostgreSQL인가와 인증ReactCSAPP 1장 정리