벡터가 주어지고 목표 값이나 조건과 일치하는 벡터의 요소 수를 계산하는 작업입니다.
벡터는 크기를 변경할 수 있는 시퀀스 컨테이너입니다. 컨테이너는 동일한 유형의 데이터를 보유하는 객체입니다. 시퀀스 컨테이너는 요소를 엄격하게 선형 시퀀스로 저장합니다.
Vector는 연속적인 메모리 위치에 요소를 저장하고 아래 첨자 연산자 []를 사용하여 모든 요소에 직접 액세스할 수 있습니다. 배열과 달리 벡터는 런타임에 필요에 따라 축소하거나 확장할 수 있습니다. 벡터의 저장은 자동으로 처리됩니다.
런타임 시 축소 및 확장 기능을 지원하기 위해 벡터 컨테이너는 가능한 성장을 수용하기 위해 일부 추가 스토리지를 할당할 수 있으므로 컨테이너는 크기보다 더 큰 실제 용량을 갖게 됩니다. 따라서 벡터는 어레이에 비해 스토리지를 관리하고 효율적인 방식으로 동적으로 성장하는 기능에 대한 대가로 더 많은 메모리를 소비합니다.
예
Input − vector vec = {1, 2, 3, 4, 4, 4, 4} Target = 4 Output − count is: 4
설명 - 주어진 벡터에서 타겟은 4번 발생하므로 카운트는 4입니다.
Input − vector vec = {1, 2, 3} Target = 4 Output − count is: 0
설명 - 주어진 벡터에서 타겟은 0번 발생하므로 카운트는 0입니다.
아래 프로그램에서 사용된 접근 방식은 다음과 같습니다.
-
벡터를 입력하고 벡터 유형 변수에 저장합니다. vec
-
목표값을 정수값으로 설정
-
개수를 저장할 임시 변수를 가져옵니다.
-
C++ STL에서 사용할 수 있는 내장된 count 함수를 호출하고 vec.begin(), vec.end(), 함수 호출 대상을 전달합니다.
-
결과를 인쇄하십시오.
예시
#include <algorithm> #include <iostream> #include <vector> using namespace std; int main(){ vector<int> myvector{ 1, 2, 3, 4, 4, 4, 4, 4 }; int target = 4; int res = count(myvector.begin(), myvector.end(), target); cout << "Target is: " << target << "\nCount is: " << res << endl; return 0; }
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Target is: 4 Count is: 5