C++ STL 주요 컨테이너 및 알고리즘 활용 가이드

Vector (벡터) std::vector는 동적 배열을 구현한 시퀀스 컨테이너입니다. 메모리 상에서 연속적인 공간을 사용하며, 임의 접근(Random Access)이 가능하다는 특징이 있습니다. 반복자 및 범위 기반 for 루프 begin()은 첫 번째 요소를 가리키는 반복자를, end()는 마지막 요소의 다음 위치를 가리키는 반복자를 반환합니다. C++11부터 도입된 범위 기반 for 루프는 이를 ...

9월 8일 10:41에 게시됨

C++ STL의 map 및 set 컨테이너 심층 해설

C++의 표준 템플릿 라이브러리(STL)에서 map과 set은 연관 컨테이너로 분류되며, 주로 레드-블랙 트리 기반으로 구현되어 로그 시간 복잡도 내의 삽입/삭제/탐색 연산을 보장합니다. 이 글에서는 두 컨테이너의 내부 동작 원리와 주요 기능, 실용적인 사용 예를 살펴보겠습니다. map: 키-값 쌍의 정렬된 연결 매핑 map은 고유 키에 대응하는 값을 저장하는 연관 컨테이너 ...

9월 7일 00:02에 게시됨

ES6 자주 틀리는 세부사항 7가지

모듈화: 기본 내보내기와 변수 선언 분리 기본 내보내기는 값만 내보낼 수 있으며 변수 선언과 직접 결합할 수 없습니다. 잘못된 예시 export default const exampleObject = { title: 'ES6' }; 올바른 해결책 const exampleObject = { title: 'ES6' }; export default exampleObject; // 또는 객체 리터럴 직접 내보내기 export default { title: 'ES6' }; 모듈 가져오 ...

8월 22일 00:38에 게시됨

파이썬 데이터 타입별 핵심 메서드 및 문자 인코딩의 이해

1. 딕셔너리(dict) 주요 메서드 딕셔너리는 키(Key)와 값(Value)의 쌍으로 이루어진 변경 가능한(Mutable) 자료형입니다. 1.1 타입 변환 dict() 생성자를 사용하여 다른 자료형을 딕셔너리로 변환할 수 있으나, 일반적으로는 중괄호 {}를 이용해 직접 생성하는 방식이 주로 사용됩니다. 1.2 데이터 조회 및 관리 조회 (Indexing vs get): 대괄호를 사용하면 존재하 ...

7월 20일 16:24에 게시됨

Java Set 컬렉션 심층 분석

Set 계열 컬렉션 특성 Set 인터페이스는 Collection 계층구조에서 유일성과 순서 제어를 제공합니다. 주요 구현체별 특징: public class SetExample { public static void main(String[] args) { // HashSet: 순서 없음, 중복 불가 // Set<String> items = new HashSet<>(); // LinkedHashSet: 삽입 순서 유지 ...

7월 5일 19:34에 게시됨

C++ 연관 컨테이너 std::set과 std::map의 활용

std::set: 유일한 요소의 정렬된 집합 std::set은 중복을 허용하지 않는 키(Key)들의 집합을 관리하는 컨테이너입니다. 내부적으로 주로 레드-블랙 트리(Red-Black Tree) 구조로 구현되어 있어, 삽입, 삭제, 탐색 작업 시 O(log N)의 시간 복잡도를 보장합니다. 만약 중복된 값을 허용해야 한다면 std::multiset을 대신 사용하면 됩니다. 주요 제어 메서드 ...

6월 27일 05:56에 게시됨

Java 컨테이너 클래스 핵심 정리

컨테이너는 객체를 저장하는 데이터 구조를 의미합니다. 자바에서는 객체를 효율적으로 관리하기 위한 다양한 컨테이너 클래스를 java.util 패키지에서 제공합니다. 1. 컨테이너 계층 구조 컨테이너 API는 Collection과 Map 인터페이스로 구분됩니다. Collection은 단일 객체 저장을, Map은 키-값 쌍 저장을 처리합니다. Collection은 다시 Set(중복 불가, 순서 없음)과 ...

6월 19일 18:19에 게시됨

자바스크립트 데이터 구조 활용 가이드: Map과 Set의 고급 기법

Map과 Set의 핵심 활용 패턴 현대 자바스크립트에서 데이터 처리를 효율화하는 두 가지 주요 컬렉션 타입인 Map과 Set에 대해 심층적인 이해를 제공합니다. Map 객체 생성 및 기본 동작 // 초기화 방법 const keyValueStore = new Map(); console.log(keyValueStore.size); // 0 // 배열로 초기화 const userDataMap = new Map([ ['fullName', 'Jane'], ['age', 28 ...

6월 12일 23:44에 게시됨

안드로이드 컬렉션 프레임워크: List, Set, Map 활용법

안드로이드 개발 시 자주 사용되는 데이터 구조로는 List, Set, Map이 있습니다. 이들은 객체들을 효율적으로 관리하고 접근하는 데 필수적입니다. List와 Set은 'Collection' 인터페이스를 상속받으며, List는 데이터 중복을 허용하는 반면 Set은 고유한 데이터만 저장합니다. Map은 키(key)와 값(value)의 쌍으로 데이터를 저장하는 구조이며, HashMap이 대표적인 예입니 ...

6월 10일 19:37에 게시됨

C++ 핵심 개념 정리: 포인터, STL 컨테이너 및 활용법

C++ 학습 시 자주 사용되는 핵심 개념들을 코드 예제와 함께 정리합니다. 기본 입출력 및 배열 초기화 #include <iostream> #include <algorithm> #include <cstring> using namespace std; const int N = 110; int d[N]; // 전역 변수 int main() { int n; cin >> n; cout << n * 2 << endl; // memset을 사용한 ...

6월 9일 01:15에 게시됨