C++ 맵(map) 사용법 (BOJ 17219)


map 컨테이너에 대하여

벡터(vector)와 마찬가지로 C++의 표준 라이브러리에 내장된 컨테이너의 일종이다. keyvalue라는 값이 페어(pair)로서 한 쌍을 이루는 것이 특징이며, key 값은 중복을 허용하지 않는다. 값을 저장할 때마다 map 내부의 값들은 key를 기준으로 자동으로 오름차순 정렬된다. 자료구조는 레드 블랙 트리(이진 탐색 트리)로 구현되어 있어, 최고 O(log N)의 시간 복잡도를 지닌다고 한다. (트리에 대한 자세한 내용은 추후에 다른 포스팅에서 다루어보려 한다.)

Read more

C++ 벡터(vector) 사용법 (BOJ 2822/5635/14769)


vector 컨테이너에 대하여


C++의 표준 라이브러리에 내장된 컨테이너의 일종이다. 들어오는 값의 개수에 따라 유동적으로 메모리를 할당하며, 미리 크기를 정해둘 수도 있다. 그래서 사용하기에 편리하지만, 배열에 비해 처리 속도는 느린 편이라고 한다.

  • vector<자료형> v; → 해당 자료형의 값을 담을 수 있는 크기가 유동적인 벡터 v를 선언한다.
  • vector<자료형> v[n]; → 해당 자료형의 값을 담을 수 있는 크기가 n인 벡터 v를 선언한다. (n은 정수)
Read more