C++ 배열의 완벽 가이드

C++에서 배열은 컴파일 시점에 크기가 결정되는 정적 자료 구조입니다. vector보다 유연성은 떨어지지만 일반적으로 더 높은 성능을 제공합니다. 1. 배열 선언 배열의 차원은 반드시 상수 표현식(constant expression)이어야 하며, 각 요소의 타입을 명시해야 합니다(auto 사용 불가). 배열은 객체여야 하며 참조(reference)일 수 없습니다. 1 int numbers[10]; 2 int *poi ...

7월 17일 02:49에 게시됨

자바스크립트 배열 완전 정리

배열 생성 방법 자바스크립트에서 배열은 Array 생성자 함수나 간편한 대괄호 표기법을 통해 생성할 수 있습니다. 1. Array 생성자 사용 인자 없음 : 빈 배열 생성 const list = new Array(); 숫자 인자 하나 : 배열의 길이 지정 (모든 요소는 undefined) const list = new Array(3); // 결과: [empty × 3] 여러 인자 : 초기 요소를 직접 전달하여 배열 생성 con ...

7월 14일 16:14에 게시됨

Java에서 배열 다루기: 개념부터 메모리 구조까지

자바에서 배열은 동일한 데이터 타입의 여러 값을 하나의 변수로 관리할 수 있게 해주는 핵심적인 자료구조입니다. 배열을 이해하면 데이터 처리 능력이 크게 향상되며, 컬렉션 프레임워크를 학습하는 데도 기반이 됩니다. 배열의 정의와 주요 특징 배열은 동일한 타입의 요소를 순차적으로 저장하는 고정 크기의 자료구조입니다. 다음 세 가지 특성을 가집니다: ...

7월 14일 04:31에 게시됨

정수 배열에서 최대 부분 배열 합 찾기: 세 가지 접근 방식

정수 배열이 주어졌을 때, 그 안에서 연속된 부분 배열 중 합이 가장 큰 부분 배열을 찾아 그 합을 반환하는 것은 고전적인 알고리즘 문제입니다. 이 문제는 다양한 최적화 기법을 통해 해결할 수 있으며, 여기서는 세 가지 주요 접근 방식인 무차별 대입(Brute Force), 분할 정복(Divide and Conquer), 그리고 동적 계획법(Dynamic Programming)을 다룹니다. 특히, 대규모 ...

7월 13일 17:10에 게시됨

포인터와 배열을 활용한 C언어 프로그래밍 예제

다음은 C언어에서 포인터와 배열을 사용하는 다양한 예제들입니다. 2차원 배열과 포인터를 이용한 요소 접근 및 출력 #include <stdio.h> int main() { int arr[3][4] = {0}; int (*ptr)[4] = arr; for (int i = 0; i < 3; ++i) { for (int j = 0; j < 4; ++j) { arr[i][j] = i * 4 + j + 1; printf("%d ...

7월 11일 03:04에 게시됨

C 언어 포인터 심층 분석

포인터 기초 메모리 이해 메모리는 데이터를 저장하는 장치입니다. 컴퓨터 시스템에는 두 가지 주요 유형의 메모리가 있습니다: 외부 저장 장치 외부 저장 장치는 장기간 데이터를 보관하며, 전원이 꺼져도 데이터가 유지됩니다(비휘발성). 일반적인 외부 저장 장치: 하드 디스크, USB 플래시 드라이브, 광 디스크 등 내부 메모리 내부 메모리(램)는 전원이 공급되는 동 ...

7월 10일 21:16에 게시됨

이분 탐색을 활용한 배열 내 특정 값의 범위 찾기

정렬된 정수 배열 nums와 목표값 target이 주어졌을 때, 이 목표값이 처음 나타나는 위치와 마지막으로 나타나는 위치를 반환하는 문제입니다. 만약 목표값이 존재하지 않으면 [-1, -1]을 반환해야 하며, 알고리즘은 반드시 O(log n) 시간 복잡도를 가져야 합니다. 예시: 입력: nums = [5,7,7,8,8,10], target = 8 출력: [3,4] 초기 시도에서는 모든 일치하는 인덱스를 s ...

7월 10일 18:43에 게시됨

스택과 큐 자료구조 구현

스택과 큐는 컴퓨터 과학에서 가장 기본적인 자료구조 중 하나로, 각각 후입선출(LIFO)과 선입선출(FIFO) 특성을 가집니다. 이번 글에서는 배열 기반과 연결 리스트 기반의 두 가지 구현 방법을 모두 다룹니다. 스택(Stack) 자료구조 스택은 후입선출(LIFO) 원칙을 따르는 자료구조로, 가장 마지막에 추가된 요소가 가장 먼저 제거됩니다. 배열 기반 스택 구현 /* 스택 헤 ...

7월 7일 20:13에 게시됨

배열 및 문자열 처리 실습

실습 1: 배열에서 최솟값과 최댓값 찾기 다음은 주어진 배열에서 최솟값과 최댓값을 찾는 코드입니다. 코드 보기 #include <stdio.h> #define SIZE 5 void getData(int arr[], int size); void displayData(int arr[], int size); void findMinMax(int arr[], int size, int *min, int *max); int main() { int data[SIZE]; int minValue, maxValue; ...

7월 2일 02:06에 게시됨

C++에서의 배열과 포인터

C++ 책이나 튜토리얼 대부분은 배열과 포인터를 함께 다룹니다. 그 이유는 무엇이며, 둘 사이에는 어떤 연관성이 있을까요? C++에서 배열과 포인터는 밀접하게 연결되어 있으며, 주요 관계는 다음과 같습니다. 1. 배열 이름은 포인터다 대부분의 상황에서 배열 이름은 배열의 첫 번째 요소를 가리키는 포인터로 암시적으로 변환됩니다. 예를 들어, int arr[5];라는 배열 ...

6월 29일 18:28에 게시됨