일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- Sort
- map
- 정렬
- 에라토스테네스의 체
- 최소공배수
- 다이나믹프로그래밍
- 알고리즘
- C++
- BFS
- 프로그래머스
- priority_queue
- 오블완
- 그래프
- 유클리드호제법
- 깊이우선탐색
- DP
- Set
- 티스토리챌린지
- 우선순위큐
- N과M
- 이분탐색
- stoi
- vector
- int
- 분할정복
- 백트래킹
- 백준
- 배열
- 문자열
- DFS
- Today
- Total
목록vector (4)
안녕 세상아,

벡터 입력을 받다 보면 int형 변수와 string형 변수 두가지 다 받아서 정렬을 해야 되는 경우가 있다. 이런 상황에서 사용할 수 있는 것이 pair 함수이다.pair를 사용하기 위해서는 헤더에 #include 헤더를 추가한다. vector > 변수 ; - 2개의 각각 지정한 타입의 값을 저장- 저장한 값은 .first 와 .second 로 각각 접근 가능 -> .first는 첫번째 인자 반환, .second는 두번째 인자 반환- make_pair(value1, value2)#include #include #include #include #include using namespace std;int main() { vector > v; v.push_back(make_pair(10, "ㄱ"))..

2차원 vector 초기화 - vector v ; - vector v (n, vector(m,0)); -> vector를 n칸 만들고 그 안을 vector(m,0) 으로 채운다. 이와 같은 형태로 선언 할 수 있다. 2차원 vector 할당 - v[n][m] = k; (k는 실수) -> 벡터의 메모리가 이미 할당되어 있어서 바로 접근 가능 -v[x].push_back (k) (x, k는 실수) -> 벡터의 메모리가 할당되어 있지 않아서 pus_back을 이용하여 할당 #include #include #include #include #include using namespace std; int main() { vector v1 (6, vector(5, 0)); v1[1][0]..
벡터는 배열 기반 컨테이너이다. 사용할 때 헤더에 #include 를 써줘야 한다. 벡터는 배열에 비해 속도적인 측면에서 성능은 떨어지지만 메모리를 효율적으로 관리하고 예외 처리가 쉽다는 장점이 있어서 많이 사용하고 있다. 또한 배열과 사용법이 거의 비슷해서 배열을 알고있다면 사용하기 매우 쉽다는 장점이 있다. vector 초기화 vector 변수명 벡터 생성 vector 변수명(숫자) 숫자만큼 벡터 생성 후 0으로 초기화 vector 변수명 = {변수 1, 변수 2, 변수 3...} 벡터 생성 후 오른쪽 변수 값으로 초기화 vector 변수명[] = {, } 벡터 배열(2차원 벡터)선언 및 초기화 (열은 고정, 행은 가변) vector
https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다. X1, X2, ..., XN에 www.acmicpc.net vector의 기본 문법을 활용하는 문제인 것 같다. 사실 중복되지 않은 값을 구해야되기 때문에 set도 생각했는데 내 실력으로는 인덱스 값을 구할 수 없어서.. vector의 중복값을 찾는 unique와 unique를 통해 중복값을 삭제하는 erase의 활용을 잘 기억해야될 것 같다. 또한 find의 시간 복잡도는 O(N)이고 lower_bou..