전체 글 114

배열(Array) vs 리스트(list)

자료구조에서 배열이라 함은, 가장 기본적이고 순차적인 자료구조이며 매우 중요하게 다루기 때문에 대부분의 교재 및 강의에서 앞쪽에 배치되어있다. 배열과 리스트를 명확하게 구분하는것은 쉽지 않으며, 구조적 차이를 가지고 있다. Array =>연속된 메모리 공간에 할당 List => 메모리가 연속적이지 않고 다음 노드가 가르키는 주소값을 가지고 있다. C에서는 읽기 쓰기 밖에 지원이 안되는데 반면, Python의 리스트는 다양한 연산들 (append,pop,insert,remove,index)을 제공한다. 또 List는 용량을 자동조절하는 기능도 있다.(=Dynamic Array) 구현이 복잡하지만, 삽입/삭제 연산이 많을때는 리스트 자료구조를 사용하는것이 효율적이다.

[완료] [Challenge] 쇼핑몰(도서) 웹사이트 클론코딩

오늘은 JS없이 HTML+CSS만으로 쇼핑몰 도서코너 쪽을 반응형 웹사이트가 아닌 정적 웹사이트로 만들어보고자 한다. 당연히 뼈대만 있는 사이트이기 때문에 클릭하여도 아무런 반응이 없다. Book now 같은 버튼도 내부의 또는 태그로 만든것이 아닌 오로지 태그로 모양새만 똑같이 구현해보았다. 먼저 크게 3가지로 나누었다. 위에 노란색 부분(class="header") 중간의 책 부분(class="main__screen") 밑의 Top Adventures 부분(class="books") css코드는 나누어서 작성하는것을 선호하지만 한장짜리 웹사이트기에 하나의 style.cs 파일에 작성하였다. 코드 주소 : https://replit.com/@heebumpark/WeLoveYouBlueprint-1#in..

운영체제(OS)의 기본

운영체제란, 컴퓨터 HW를 효율적으로 관리하여 사용자에게 서비스를 제공하는 SW 하드웨어는 크게 3가지로 나뉜다. 프로세서 (CPU, GPU) 메모리(주기억장치, 보조기억장치) 주변장치 프로세서 => 컴퓨터의 두뇌역할을 하며 중앙처리장치라고도 불린다. CPU 안에는 레지스터, 연산장치, 제어장치가 들어가있고, 레지스터는 프로세서 내부에 있는 메모리다. 프로세서가 사용할 데이터를 저장하며 컴퓨터에서 가장 빠른 메모리다. 종류로는 데이터레지스터, 주소레지스터, 프로그램카운터(다음 실행할 명령어의 주소 보관), 명령어 레지스터(현재 실행하는 명령어 보관), 누산기 등이 있다. OS는 프로세서에게 처리할 작업 할당 및 관리를 하며 프로그램 간의 프로세서 사용시간을 조절해준다. 메모리 캐시(Cache) 프로세서 ..

CS/OS 2022.01.28

자료구조란, 그리고 알고리즘

Data -> 저장공간 + 읽기/쓰기/삽입/삭제/탐색(연산) 자료구조란 => 컴퓨터에서 자료를 효율적으로 관리하고 구조화시키는 방법 ex) 변수(Variable), 배열(Array), List 등 인류최초의 알고리즘은 최대공약수(GCD)계산 알고리즘 이다. 알고리즘 수행시간: 최악의 입력에 대한 기본연산 횟수 T(n) 알고리즘 시간 복잡도를 계산할때 크게 두가지 방법이 있는데, 1. 모든 입력에 대해 기본연산 횟수를 더한 후 평균 => 정확한 방법이지만 현실적으로 불가능하다. 2. worst case 입력에 대한 기본연산 횟수를 측정한다. => 어떤 입력에 대해서도 이보다 수행시간이 크지 않음(적합) ex) T1(n) = 2n-1 , T2(n)=4n+1, T3(n)=2n^2-3n일때, T2가 T1보다 2..