본 포스팅 시리즈에서는 모든 프로그래머들이 반드시 알아야 할 가장 기본적인 자료구조를 다룰 예정이다. 앞으로 다룰 내용은 프로그래머에게 기본 소양이며, 본인 스스로 직접 구현할 수 있어야 한다. | 첫 번째 순서는 배열이다. 배열은 같은 data-type의 item들을 담을 수 있는 고정된 크기의 자료구조이다. 배열은 인덱싱을 기본적으로 지원하며, 이는 곧 Random 한 접근이 가능하다는 것을 의미한다. 배열은 일반적으로 많은 프로그래밍 언어에서 기본 데이터 구조로 존재한다. 하지만 Python이나 Ruby 같은 언어의 데이터 구조와 같은 리스트와 배열을 혼동해서는 안된다. 아래는 C++에서 가장 기본적인 배열이 나타나는 형태이다. // 단순 선언 int array[] = {1, 2, 3, 4, 5};..
Question 문자열이 주어졌을 때, 이 문자열에 같은 문자가 중복되어 등장하는지 확인하라. Solution 가능한 최선의 수행 시간(Best Conceivable Runtime(BCR) 모든 문자열의 문자를 살펴보아야 하므로 문자열의 길이를 s이라 하였을 때 BCR은 O(s)이다. 고려사항 문자열이 ASCII 인지 유니코드인지 ASCII인 경우 최대 몇개의 문자의 개수를 몇개로 가정할 것인지 Solution 1 (Bruth Force) 문자 하나를 기준으로, 다른 문자가 같은지 탐색한다. 시간복잡도는 O(s^2)이다. bool solution(string s) { for(int i=0; i
- Total
- Today
- Yesterday
- 내돈내산
- LeetCode
- Problem Solving
- 트리
- 속초 맛집
- 맛집
- rust
- ProblemSolving
- PS
- 속초
- C++
- 러스트 기초
- 알고리즘
- 코딩인터뷰
- 리트코드
- Tree
- interview question
- DP
- 인터뷰
- 자료구조
- algorithm
- Medium
- Interview
- 기술면접
- 러스트
- coding interview
- 솔직후기
- 러스트 입문
- 러스트 배우기
- 반드시 알아야 할 자료구조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |