일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자바
- Python
- REACT
- 자바스크립트
- 파이썬 알고리즘 인터뷰
- Zerobase
- execution context
- 개발공부
- 코드스테이츠
- OS
- 비동기
- python algorithm
- 알고리즘
- node.js
- context switching
- java
- 컴퓨터공학
- algorithm
- Computer Science
- codestates
- typeScript
- 파이썬
- 글또
- useState
- 운영체제
- Operating System
- 프로그래머스
- JavaScript
- react 기초
- 자료구조
- Today
- Total
목록Computer Science (32)
Back to the Basics
Tipic 2 정리 Topic1은 기억장치의 종류와 특징에 대한 내용이다. 컴퓨터에 쓰이는 기억장치의 의미를 알아보고, 기억장치의 종류 및 각각의 크기와 속도를 비교해보자. 1. Intro bit, byte의 형태로 기억장치에 저장해야 컴퓨터가 연산이 가능하다. 기억장치는 종류마다 서로 다른 속도를 내고, 용량에 차이가 있어서 역할이 다르다. 기억장치, RAM, 캐시, 가상 기억장치에 대해 알아보자 2. CPU 캐시 , Hard Disk, RAM cpu는 한 번에 64bit 정도만 처리하면 되기 때문에 1MB 정도의 저장공간만 있다. 굉장히 적은 양의 데이터를 조작하고 계산하지만 이러한 비트들을 굉장히 빠른 속도로 처리할 수 있다. Hardisk는 매우 많은 양의 데이터를 저장할 수 있다. 1MB정도의 ..
Tipic 1 정리 Topic1은 hardware에 대한 내용이다. 1. Intro 컴퓨터를 살 때 또는 중고로 팔 때 중요시 여기는 것은 바로 "성능"이다. 최근에 나도 공부를 위해 macbook air 2021을 구매했다. Topic1의 내용과 같이 모델을 선택한다고 해서 끝이 아니라 ram용량을 몇 GB로 선택할 것인지, CPu는 i5를 선택할 것인지, i7을 선택할 것인지 (물론 macbook air는 appel chip을 사용하므로 cup에 대해 고민할 일을 없었다.)에 따라 가격이 2배 또는 1.5배로 확 오른다. 이렇게 고르고 고르다 보면 결국 그냥 조금 더 투자해서 macbook pro를 사는 게 더 나을 수도 있다는 생각이 드는 경우까지 갈 수 도 있다. 성능 대비 투자한 비용이 2배 또..
프로그래밍 패러다임으로는 이곳, 저곳에서 많이 들어봤듯이 명형형 프로그래밍, 선언형 프로그래밍, 절차형 프로그래밍 , 객체지향형 프로그래밍, 함수형 프로그래밍 등이 있다. 어떤 언어는 하나의 패러다임을 갖기도 하지만, 최근엔 여러 가지 패러다임을 갖는 멀티 패러다임 언어가 대부분이라고 한다. 절차형 프로그래밍 (procedure) - 대표적 언어 : c언어 절차형 프로그래밍은 어떻게 할 것인가에 가깝다. 절차형은 위에서 아래로 로직에 따라 코드의 순차적인 처리가 중요시되고 프로그램 전체가 유기적으로 연결 되도록 하는 프로그래밍 패러다임이다. 컴퓨터와 유사한 처리구조의 코딩방식이므로 실행 속도가 빠르다는 장점이 있다. 하지만 유지보수가 어렵고, 코드의 실행 순서가 정해져 있으므로 코드의 순서가 바뀌면 동일..
본론으로 들어가기 전에 MapReduce Model을 구글링 해보니 먼저 Apache hadoop과 관련이 있으므로 이 Hadoop이라는 놈부터 간단하게 알아보자. Hadoop 공식 홈페이지에서 소개하는 글은 이러하다. "The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. "이라고 한다. 즉, Apache Hadoop 은 대량의 데이터의 병렬 처리를 위한 framework이다. 주로 빅데이터 분석을 위해 사용한다고 한다. 쉽게 말하면, 대용량의 데이..
5강 재귀 알고리즘 (recursive algorithms) - 응용 문제의 종류에 따라 재귀 알고리즘을 적용하여 알고리즘을 간단하고 이해하기 쉽게 서술할 수 있다는 장점이 있다. 하지만 일반적으로 주어진 문제에 대해서 반복적인 알고리즘이 제귀적인 알고리즘보다 시작적 효율이 더 높다. 그럼에도 불구하고 사람의 생각을 코드로 옮겨놓을 수 있다는 특성 때문에 tree와 같은 자료구조를 이용하는 알고리즘에는 매우 직관적으로 적용할 수 있는 경우가 많다. 재귀알고리즘을 이용하여 다음의 문제들을 풀 수 있다. (1) 조합의 수 (n 개의 서로 다른 원소애서 m개를 택하는 경우의 수) 구하기 // Trivial case를 고려해야 한다. // n=m 일 때와 m=0일 때 이외에 재귀를 사용하여 구현한다. def c..
PROGRAMMERS - PART4 RECURSIVE ALROTIGHM Recursive algorithm - 기초 재귀 알고리즘은 알고리즘의 이름이 아니라 '성질' 이다 같은 알고리즘을 반복적으로 적용함으로써 풀어내는 방법 ex ) sum(n)=sum(n-1)+n 재귀알고리즘 에서는 종결조건이 중요하다. (Trivial case) 재귀함수(Recursive function)이란? 하나의 함수에서 자신을 다시 호출하여 작업을 수행하는 것. 생각보다 많은 종류의 문제가 재귀적으로 해결이 가능하다. (Recursively) ex ) Binary Tree Tree 탐색 : 10을 찾으시오 --> 재귀적인 방법으로 이용 가능함. Recursive function을 호출할 때는 종결조건이 매우 중요..
PROMRAMMERS - PART3. SORT & SEARCHING PYTHON LIST의 정렬 (1) sorted() 내장함수 (built-in function) 정렬된 새로운 리스트를 얻어낸다. (2) sort() list의 method 해당 리스트를 정렬한다. 원래 list 자체가 정렬된다. Function와 Method의 차이는? function : class와 상관 없이 독립적이다. method : class & object와 연관이 있음. class 내에 선언되어있는 함수. # 문자열로 이루어진 리스트에서 문자열 순서로 정렬하려면, 정렬에 이용할 수 있는 Key를 지정. # 문자열로 이루러진 list의 경우 사전 순거로 정렬디 된다. (대문자>소문자) L1=['abcd','..
Data Structure and Algorithm Algorithm 이란? 사전적 정의 : 어떤 문제를 해경하기 위한 절차, 방법, 명령어들의 집합 programming : 주어진 문제를 해결하기 위한 자료구조와 연산 방법에 대한 선택. 자료구조를 배워야 하는 이유 : 문제를 파악하고 내가 사용한 자료구조가 어떤 성질이여야 하는지 알아야 하기 때문 Linear Array 1) Array와 List Arrya : 원소들을 순서대로 늘어놓는 것. List : data type이 다른 원소들 사용 가능. 2) Python List에 활용할 수 있는 연산들 실행시간이 list 길이에 독립적인 연산들 O(1) .append() : 맨 끝에 원소를 덧붙인다. .pop() : 맨 끝의 원소 하나를 꺼내고 꺼낸 것을..