전체 글(200)
-
시간복잡도
43, 12, 43, 22, 11 위의 다섯개의 숫자가 있다. 이 숫자를 오름차순으로 정열하는 코딩을 할거다. 작성한 코딩을 실행하면 결과가 나올때까지 걸리는 시간이 runnint time이다. cpu는 코딩을 한줄한줄 처리해 나가는데 각 소스마다 걸리는 시간이 있다. 예를들어 반복문이 한번 실행하는데 1n 걸린다고 하면 반복문을 열번 돌리면 10n이 걸린다. 이 반복분을 이중 반복문으로 10번하면 100n^2이 걸린다. 이중 반복문 말고 다른 소스의 걸리는 시간이 3n + 4 걸린다고 하면 전체 걸리는 시간은 100n^2 + 3n + 4가 된다. 시간복잡도는 빅오로 나타내는데 최고차수만 나타낸다. 빅오로 나타내면 O(n^2)가 된다. 3 >>> O(1) 3n^2 + 2n + 4 >>> O(n^2) 2n..
2023.02.18 -
메모리 구조
메모리에는 크게 하드디스크와 ram메로리가 있다. 코딩을하고 저장하면 하드디스크에 올라가고 실행하면 ram메모리에 올라간다. 비효율적으로 코딩하면 ram 메모리 공간이 낭비되고 성능을 저하시킨다. Ram메모리는 트랜지스터라는 작은 반도체 소자로 이루어져 있다. 트랜지스터에 불이 들어오면 1 안들어오면 0 으로 트랜지스 하나당 2가지의 숫자를 나타낼 수 있다. 이것을 1bit라고 한다. 2bit는 트랜지스터가 두개니 4개의 숫자, 8bit는 255의 숫자를 나타낼 수 있다. 8bit가 1byte이다. 이와같이 컴퓨터는 이진법의 숫자를 통해 인식한다. 217을 이진법으로 나타내면 11011001 이다 217을 16진법으로 타나내면 위의 이진법을 4개씩 나누어서(1101, 1001) 나타낼 수 있다. 1101..
2023.02.18 -
자료구조
자료구조 - 데이터를 저장하고 관리하는 방식 - 데이터를 잘 정리해서 메모리를 효율적으로 사용하게 하고 빠르게 데이터를 처리할 수 있게한다. 예를들어 숫자 100개의 데이터를 각각 변수에 하나씩 담는거보다 Array에 담아서 관리하면 쉽게 관리할 수 있다. 자료구조는 크게 선형 자료구조와 비선형 자료구조가 있다. 선형 자료구조 -array -dynamic array -linked list -queue -stack -hash table 비선형 자료구조 -tree -graph 알고리즘 -문제를 해결하는 방법 -자주쓰이는 해결방법을 패턴화 한것 ex) BGS, DFS, BINARY SEARCH, DIJKSTRA 좋은 알고리즘인지 평가하는 기준 -시간복잡도 -공간복잡도 -구현복잡 시간복잡도와 공간복잡도는 tra..
2023.02.18 -
파이썬 기초 정리
print() - 어떤 값을 출력해주는 함수 idle에서 실습하면 ==================== print('Hello world') Hello world print(1) 1 print([1,2,3]) [1, 2, 3] print(1, 2, 3) 1 2 3 print(123) 123 print('python') python ==================== print(1,2,3)을 보면 ,가 띄어쓰기가 되는걸 볼 수 있다. input() - 사용자에게 입력을 받는것 idle에서 실습하면 ===================== input() aaaaaaaa 'aaaaaaaa' ***test1.py실행***** dd fdjfkl input('당신의 이름은?') 당신의 이름은?조동현 '조동현' ag..
2023.02.17 -
리액트(5)- 프로젝트 구조(package.json, 웹팩과 번들, 빌드모드, 개발모드)
package.json 파일 모든 Node.js 프로젝트는 루트 디렉터리에 package.json 파일이 있다. 리액트 프로젝트도 Node.js 프로젝트라서 package.json 파일이 있는 걸 확인할 수 있다. ----------------------------------------------------------------------------- { "name": "ch01_5", "version": "0.1.0", "private": true, "dependencies": { "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", "@type..
2023.01.22 -
리액트(4)- npm, npx, 프로젝트 생성
npm npm(Node Package Manager)은 Node.js 프로젝트에서 다양한 오픈소스 라이브러리를 쉽게 설치하게 해준다. npx Node.js 패키지 중에서 라이브러리가 아니라 독립적으로 실행할 수 있는 프로그램이 있다. 이처럼 프로그램 형태로 동작하는 패키지는 원래 npm i -g형태로 설치해야 하지만 계속 업데이트되어서 최신 버전을 유지하기가 번거롭다. npx는 이런 번거로움을 해결하기 위해 만들어졌다. npx는 패키지들의 가장 최신 버전을 찾아내 npm i -g 명령으로 설치해주는 프로그램이다. 리액트 프로젝트 생성(타입스크립트) 리액트 웹 어플리케이션은 CRA라는 프로그램으로 Node.js 프로젝트를 생성한다. 다음 명령어로 타입스크립트용 리액트 프로젝트를 생성하다 이 명령은 npx를..
2023.01.15