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에 게시됨