공부/C++

[C++] 코딩테스트 참고

굴러다니다니 2025. 4. 4. 01:00

1. vector

#include 선언

vector vec; //빈 벡터 선언

vector<int> a(10); //int형 벡터 10개 선언

vector <int> b = { 0, 1, 2 }; //이렇게 초기화된 벡터 선언

vec.push_back(넣을 값) //push_back으로 넣기

vec.pop_back()

 

vec.size() //벡터 요소 개수

vec.swap(vector객체) //두 벡터의 내용을 교환(교체)

vec.empty() //벡터가 비었는지 여부를 반환

vec.at(index) //index번째 요소에 접근

vec.front() //벡터의 첫 번째 요소를 반환

vec.back() //벡터의 마지막 요소를 반환

vec.begin() //벡터의 첫 번째 요소 가르킴

vec.end()  //벡터의 마지마가 요소 가르킴

 

#include

sort(vec.begin(), vec.end()); //오름차순 정렬

sort(vec.begin(), vec.end(), greater()); //내림차순 정렬

 

* 값이 존재하는지 알아보기

 if(find(v.begin(), v.end(), 0) == v.end()) { // vector내에 0이 존재하지 않음

- string 값 존재에도 사용 가능

"asdf".find("asd") == 0 //찾음 

 

2. 해시 맵 (unordered_map)

#include <unordered_map>

unordered_map<string, int> hash_map;

for (auto pair : hash_map) { if (pair.second > 0) { return pair.first; } } //auto를 사용해 pair에 접근이 가능

 

char a;

isupper(a) / islower(a) 

toupper(a) -> 숫자값으로 나옴

char(toupper(a)) -> 문자값으로 나옴

 

int[] something

for(int index : something){} // for each문 사용 

 

#include <string>

int num = stoi(str);

 

string str = to_string(num);

 

 

3. max

#include <algorithm>

int answer = max (1, 2);

int answer = max ({1, 2, 3});

 

4. Set

중복이 허용되지 않는 데이터를 저장할 수 있는 컨테이너

자동으로 오름차순 정렬되어 저장됨 (기본 설정일 때)

내부적으로 이진 탐색 트리 (RB-tree) 기반으로 동작

set<int> s;

// 값 추가
s.insert(10);
s.insert(5);

// 값 존재 확인
if (s.count(5)) {
    cout << "5 있음";
}

// 값 삭제
s.erase(5);

// 전체 순회
for (int x : s) {
    cout << x << " ";
}

🧠 언제 사용하는가?

상황왜 set이 유용한가?
중복 제거 vector보다 훨씬 간단하고 효율적으로 중복을 막을 수 있음
정렬된 자료 유지 insert()만 해도 자동 정렬
특정 값이 있는지 확인 s.count(x) 또는 s.find(x)를 통해 빠르게 확인 가능 (O(log N))
순서가 중요하지 않을 때 인덱스 접근보다 값 존재 여부가 중요할 때
 

🔧 주요 메서드

cpp
복사편집
set<int> s; // 값 추가 s.insert(10); s.insert(5); // 값 존재 확인 if (s.count(5)) { cout << "5 있음"; } // 값 삭제 s.erase(5); // 전체 순회 for (int x : s) { cout << x << " "; }

📌 비교: set vs vector

기준setvector
중복 제거 자동 수동 확인 필요
정렬 자동 (오름차순) sort() 필요
특정 값 존재 확인 O(log N) O(N)
인덱스로 접근 ❌ 안 됨 ✅ 가능
728x90
반응형