일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Router
- cta button
- codestates
- 프로토타입
- 참조자료형
- Prototype
- 계산기
- Javascript #코드스테이츠
- 개발자
- 코드스테이스
- html
- 프론트엔드
- OOP
- css in js
- 객체지향
- 원시자료형
- 호스트인식
- cta버튼
- css
- JavaScript
- frontend
- JS
- 자바스크립트
- 코드스테이츠
- condestates
- self reliance
- WAI-ARIA
- CDD
- codestate
- 회고
- Today
- Total
목록알고리즘, 자료구조 (7)
jh.nrtv
✅ 들어가며 최근에 알고리즘 문제풀이 언어를 Python에서 JavaScript로 변경했다. JS 대신에 Py를 코테 언어로 사용해본 결과 느낀 장점은 다음과 같다. - 문제 해결을 위한 방법론에만 집중하고, 세세한 구현은 내장 모듈을 활용하고 간결한 문법구조로 구현할 수 있었기 때문에 더 빠르게 다양한 문제를 풀고, 알고리즘 문제풀이 전체에 대한 감을 빠르게 쌓을 수 있었다. 하지만 알고리즘 스터디를 통해서 다른 언어를 사용하는 팀원들과 답안을 교환해본 결과, 답안의 길이나 문제 풀이 소요시간에서 분명한 차이가 있음을 확인할 수 있었다. 따라서 JS를 주요 언어로 사용하는 입장에서 Python을 활용한 문제풀이가 진짜 내 실력이 아니라고 느꼈고, JS로 동일한 수준의 실력을 쌓아야겠다고 마음먹었으며 J..

✅ 들어가며 오늘은 매우 친근한 자료구조 형태인 해시 테이블에 대해서 정리하고자 한다. ✅ 해시 테이블이란? 해시란 key- value 쌍의 데이터 형태를 가진 자료구조이다. 기본적으로 Python의 dictionary , JavaScript의 Object 와 형태가 유사하다. 해시의 특징 및 장점 중 하나는 키를 통해서 즉시 value에 접근할 수 있기 때문에 저장,삭제,검색 의 시간복잡도가 전부 O(1)이다. 여기서 key를 입력받으면 value를 어디에 보관해야 하는지에 대한 고민이 생긴다. 🔸 직접 주소화 테이블? 말 그대로 k를 그대로 주소로 사용하는 방법이다. 다만 key가 순서대로 존재하지 않고 1, 100, 9999 와 같은 경우 메모리 낭비가 심하며 key가 문자열인 경우 사용할 수 없기..

✅ 재귀의 정의 재귀는 그래프 탐색, 트리, dp 등 주요 자료구조와 알고리즘에 접목된다. 재귀는 자신을 정의할 때, 자기 자신을 재호출 하는 것을 의미한다. 재귀의 구성요소 recurrence relation : 점화식 base case : 더이상 재귀호출을 하지 않아도 되는 상황(조건) def factorial(n): if n == 1: # base case return 1 return n * factorial(n - 1)# 점화식 재귀의 시간복잡도 재귀함수 전체의 시간복잡도 = 재귀함수 호출 수 x (재귀함수 하나당)시간복잡도 def factorial(n): if n == 1: return 1 return n * factorial(n - 1) 재귀 함수 호출 수 ⇒ n 재귀 함수 하나 당 시간복잡도..
Python에서 주로 사용하는 자료구조 4가지를 정리한다. ✅ List , Tuple list = [a,b,c,d] tuple= (a,b,c,d) list=[1,2,3] # 끝에 추가-> .append(value) list.append(4) #>>> list=[1, 2, 3, 4] # 원하는 위치에 삽입-> .insert(index , value) list.insert(1, 5) #>>> list=[1, 5, 2, 3, 4] # 데이터 삭제-> del listname(value) del list[3]#>>> list= [1, 5, 2, 4] # 최대 , 최소-> max(listname) , min(listname) print(max(list))#>>>5 print(min(list))#>>>1 list는 ..