C++ STL 알고리즘 핵심 정리 및 활용 가이드
1. 시퀀스 비변경 알고리즘 (Non-modifying Sequence Algorithms)
이 알고리즘들은 컨테이너의 원소를 읽기만 할 뿐, 메모리 상의 원소 값을 직접 수정하지 않습니다.
1.1 원소 탐색 (find, find_if, find_end)
find: 특정 값과 일치하는 첫 번째 원소의 반복자를 반환합니다. 없으면 end를 반환합니다.
find_if: 주어진 조건자(predicate)를 만족하는 첫 번째 ...
7월 24일 07:36에 게시됨
C++ STL 표준 알고리즘 완벽 가이드
1、非수정 시퀀스 알고리즘
이 알고리즘들은 연산 대상 컨테이너의 요소를 변경하지 않습니다.
1.1 find와 find_if
find(begin, end, value): value와 같은 첫 번째 요소를 찾으며, 반복자 반환 (찾지 못하면 end 반환)
find_if(begin, end, predicate): 조건자를 만족하는 첫 번째 요소 찾기
find_end(begin, end, sub_begin, sub_end): 부분 시퀀스가 마지막으로出現하 ...
7월 23일 09:17에 게시됨
C++ 핵심 개념 정리
1. 객체지향 3대 특성
캡슐화(Encapsulation), 상속(Inheritance), 다형성(Polymorphism)
2. 접근 지정자
private, protected, public
3. 생성자와 소멸자
클래스에는 기본 생성자, 복사 생성자, 대입 연산자, 소멸자가 포함된다.
class Data {
private:
int x;
int y;
int z;
public:
Data(int a, int b, int c) : x(a), y(b), z(c) {
// 초기 ...
7월 21일 06:07에 게시됨
C++ 기반 GUI 시뮬레이션과 컨테이너 클래스 구현
작업 1: GUI 요소의 조합 설계
이 작업은 C++에서 버튼과 창을 모델링하여 간단한 GUI를 시뮬레이션합니다. Button 클래스는 레이블을 가지고 클릭 시 메시지를 출력하며, Window 클래스는 여러 개의 버튼을 포함하는 조합 관계를 가집니다.
핵심 코드
#include <iostream>
#include <string>
#include <vector>
class Button {
public:
explicit ...
7월 21일 05:42에 게시됨
C++ STL 컨테이너 어댑터: 스택, 큐, 우선순위 큐의 이해와 구현
1. 컨테이너 어댑터(Container Adapter)의 개념
C++ STL에서 스택(Stack), 큐(Queue), 우선순위 큐(Priority Queue)는 독립적인 자료구조라기보다 기존 컨테이너의 인터페이스를 제한하거나 변형하여 특정 목적에 맞게 재설계한 컨테이너 어댑터로 분류됩니다. 이들은 내부적으로 데이터를 저장하기 위해 vector, list, deque와 같은 표준 시퀀스 컨테이너를 사용합니다.
...
7월 20일 19:32에 게시됨
C++ 템플릿 기초 완전 정복: 제네릭 프로그래밍으로 코드 중복 탈피하기
왜 템플릿인가? 반복 코드에서 벗어나는 첫걸음
정수, 실수, 문자 등 다양한 타입에 대해 동일한 로직을 구현할 때마다 함수를 반복해서 작성해본 경험이 있다면, C++의 템플릿은 그 해결책이 될 수 있다. 예를 들어 두 값을 교환하는 Swap 함수를 각 타입별로 따로 작성하면 다음과 같다:
void Swap(int& a, int& b) {
int temp = a;
a = b;
b = tem ...
7월 16일 01:49에 게시됨
C++ STL 알고리즘 라이브러리 완벽 가이드
1. 비변형 시퀀스 알고리즘원본 컨테이너의 요소를 변경하지 않는 알고리즘들입니다.1.1 find 계열find(first, last, val): 첫 번째로 val과 일치하는 요소의 반복자 반환find_if(first, last, pred): 조건을 만족하는 첫 번째 요소 탐색find_end(first, last, s_first, s_last): 부분 시퀀스의 마지막 등장 위치std::vector<int> data = {2, 4, 6, 8, 10};
// 값이 ...
7월 13일 20:35에 게시됨
C++ STL 알고리즘 가이드
1. 변경하지 않는 시퀀스 알고리즘
이러한 알고리즘들은 조작하는 컨테이너의 요소들을 변경하지 않습니다.
1.1 find와 find_if
find(begin, end, value): value와 같은 첫 번째 요소를 찾아 반복자를 반환 (찾지 못하면 end 반환).
find_if(begin, end, predicate): 조건자(predicate)를 만족하는 첫 번째 요소를 찾습니다.
find_end(begin, end, sub_begin, sub_end): ...
7월 10일 01:34에 게시됨
C++ 표준 템플릿 라이브러리(STL) 알고리즘 핵심 정리 및 활용 가이드
1. 비변형 시퀀스 알고리즘 (Non-modifying Sequence Operations)
컨테이너의 원소를 직접 변경하지 않고 탐색하거나 검사하는 알고리즘들입니다.
1.1 탐색 (find 계열)
find(first, last, value): 특정 값과 일치하는 첫 번째 원소의 반복자를 반환합니다.
find_if(first, last, pred): 조건자(predicate)를 만족하는 첫 번째 원소를 찾습니다.
find_end(first1, last1, ...
7월 6일 03:14에 게시됨
2025년 2월 4일~9일 주차 문제 정리
주간 개요
이번 주는 생활 리듬이 불규칙하여 학습 효율이 저하되었고, 이를 개선하기 위해 환경을 변경하였다. 새로운 일정으로 인해 다음 주부터는 더 체계적인 학습과 경기 준비를 할 계획이다.
문제 해결 기록
SMU Winter 2025 Round 6
B. 스트리머의 밤
문제 요약: 여러 프로그램의 시작 및 종료 시간이 주어질 때, 전체 시간 내에 볼 수 있는 최대 프로그램 수를 ...
7월 1일 05:37에 게시됨