일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 프로그래머스
- 비동기
- 코드스테이츠
- 파이썬
- Computer Science
- node.js
- useState
- typeScript
- codestates
- python algorithm
- OS
- algorithm
- 자바스크립트
- execution context
- 운영체제
- context switching
- 개발공부
- 컴퓨터공학
- 알고리즘
- 글또
- java
- 자바
- Zerobase
- Operating System
- 자료구조
- 파이썬 알고리즘 인터뷰
- REACT
- react 기초
- JavaScript
- Today
- Total
목록Computer Science/Algorithm & Data Structure (15)
Back to the Basics
자료구조 Stack과 Queue에 대해서 알아아보고, 이를 어떤 방식으로 사용하는지 알아본다. 코드스테이트 Lesson 내용의 일부와 윤성우의 열혈 자료구조 책을 참고하였다. Achievement Goals 자료구조에 대해 이해한다. Stack , Queue 자료구조에 대해 이해한다 각 자료구조가 가진 특징을 학습한다. 각 자료구조를 사용하기 적합한 상황을 이해한다 다른 자료구조와의 차이점을 이해하기 위해 자료 구조 내부를 직접 구현한다. 알고리즘 문제에서 Stack, Queue 자료구조를 배열로 대체해볼 수 있다. 0. 추상 자료형 (ADT : Abstract Data Type ) 자료구조를 공부하기에 앞서 추상 자료형 ADT를 먼저 이해하고 시작해야 한다. 추상 자료형은 Computer Science..
Achievement Goals JSON 구조가 재귀 하수를 사용할 수 있는 Tree 구조임을 이해할 수 있다. (stringifyJSON) JSON.stringify와 JSON.parse가 serialize, deserialize라는 것을 이해할 수 있다. JSON.stringify와 JSON.parse를 사용하여 자바스크립트 값과 JSON을 오갈 수 있다. JSON에 재귀 호출을 사용할 때, 어디에 사용해야 할지 이해할 수 있다. 1. JSON이란?? JSON은 JavaScript Object Notation 의 약자로 Lightweight data-interchange format. 즉, "경량의 Data 교환 형식"이다. 데이터 교환을 위해서 만들어진 객체 형태의 포맷이다. JSON은 이해하기 쉽..
기초 알고리즘 문제를 푸는 도중 제곱근의 수를 입력받아 제곱근 값을 소수점 2번째 자리까지 구하는 문제가 나왔다. Math.sqrt라는 아주 좋은 메소드가 있지만, 사용하면 안 된다고 한다. 이 문제에서 구현해야 햘 기능을 나눠보면, 1) 제곱근을 구하고 2) 소수점 2번째 자리까지 출력이라고 할 수 있다. 문제는 금방 풀었지만, 고등학교 수학인가 중학교 수학인가 에서 배웠던 수학적인 방법들이 생각나서 추가적으로 구현해 보았다. 그리고, 문제에서 힌트로 주어져있던 바빌로니아 알고리즘에 대해서도 마지막 첫 번째 풀이 학창시절 배우고, 공업수학도 대학에서 해서 그런지 이 정도는 아직.. 아직 기억이 난다..ㅋㅋㅋ.. 제곱근은 루트 안에 숫자를 넣은 값이다. 이를 계승으로 표기하면 숫자^(1/2) 승이다. 3..
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() : 맨 끝의 원소 하나를 꺼내고 꺼낸 것을..