4. 원소 개수 세기 (Counting Elements) Codility Lesson 한국어 정리본 (JavaScript ver.)
원소 개수 세기란?배열을 활용하여 숫자 시퀀스를 저장하는 방법에는 여러 가지가 있다. 일반적으로 연속된 숫자 a₀, a₁, ..., aₙ₋₁를 배열의 인덱스에 맞춰 저장한다.예를 들어:let A = [4, 2, 4, 5];// A[0] = 4, A[1] = 2, A[2] = 4, A[3] = 5그러나 원소를 직접 저장하는 대신, 각 숫자의 등장 횟수를 세는 배열 을 만들 수도 있다.이 경우, 배열 count[] 는 해당 값이 등장한 횟수를 저장한다.count[2] = 1; // 숫자 2는 한 번 등장count[4] = 2; // 숫자 4는 두 번 등장count[5] = 1; // 숫자 5는 한 번 등장이 방법을 사용하면 특정 숫자가 등장한 횟수를 O(1) 시간에 확인할 수 있다.1. O(n + m) 시간..
자료구조(Data Structure) 총정리
대표적 자료구조 및 알고리즘 정리최근에 자료구조 분류 도식, 배열(array), 연결 리스트(linked list), 스택(stack), 재귀함수와 스택 메모리, 큐(queue), 멀티스레딩과 큐에 대해 다시 공부했다. 이 외에도 해시테이블, 그래프, 트리, 힙 등 중요한 자료구조를 포함해 중요 자료구조 8개를 정리해보려한다. 0. 자료구조 분류 도식자료구조는 크게 선형(Linear) 자료구조와 비선형(Non-linear) 자료구조로 분류된다선형 자료구조:배열, 연결 리스트, 스택, 큐 등이 대표적특징: 메모리 상에 연속적 또는 순차적으로 데이터를 저장하며, 삽입/삭제 연산이 한쪽 끝 또는 중간에서 이루어짐비선형 자료구조:트리, 힙, 그래프 등이 있으며, 계층적 또는 네트워크 형태로 데이터를 저장특징: ..