요소 추가하기
Coddy C++ 여정의 로직과 흐름 섹션에 포함된 레슨 — 56개 중 11번째.
이제 벡터를 생성하는 방법을 알게 되었으니, 생성된 후에 요소를 추가하는 방법을 배워봅시다. push_back() 메서드는 벡터의 끝에 새로운 요소를 추가하여 벡터를 확장하는 데 사용하는 주요 도구입니다.
push_back() 메서드는 하나의 인수(추가하려는 값)를 받아 벡터의 끝에 추가합니다:
std::vector<int> numbers;
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);이 예제에서는 빈 벡터로 시작하여 push_back()를 사용하여 세 개의 정수를 추가합니다. 이러한 작업 후에 벡터에는 [10, 20, 30] 요소가 순서대로 포함됩니다.
push_back()의 장점은 모든 메모리 관리를 자동으로 처리한다는 점입니다. 요소를 추가할 때 벡터의 공간이 부족해지면, 자동으로 더 많은 메모리를 할당하고 기존 요소들을 새로운 위치로 복사합니다. 이로 인해 최종 크기를 미리 알 수 없는 데이터 컬렉션을 구축할 때 벡터를 매우 편리하게 사용할 수 있습니다.
챌린지
쉬움push_back() 메서드를 사용하여 벡터에 요소를 추가하는 방법을 보여주는 프로그램을 작성하세요. 빈 벡터에서 시작하여 특정 순서대로 숫자를 추가하며 동적으로 벡터를 구축하게 됩니다.
다음과 같은 입력이 제공됩니다:
- 벡터에 추가할 숫자의 개수를 나타내는 정수
n - 그 다음 벡터에 하나씩 추가해야 할
n개의 정수
프로그램은 다음을 수행해야 합니다:
numbers라는 이름의 빈std::vector<int>를 생성합니다.- 루프를 사용하여
n개의 입력 숫자를 각각 읽습니다. - 각 숫자에 대해
push_back()을 사용하여 벡터의 끝에 추가합니다. - 각 숫자를 추가한 후, 벡터의 현재 크기와 방금 추가된 숫자를 출력합니다.
- 마지막으로, 벡터의 모든 요소를 공백으로 구분하여 한 줄에 출력합니다.
다음과 같은 정확한 출력 형식을 사용하세요:
Added [number], size is now [current size]
Added [number], size is now [current size]
...
Final vector: [num1] [num2] [num3] ...각 추가 작업 후 벡터의 현재 요소 개수를 가져오려면 .size() 메서드를 사용하세요. 최종 출력의 경우, 대괄호 [] 연산자를 사용하여 인덱스로 각 요소에 접근하세요.
치트 시트
push_back()를 사용하여 벡터의 끝에 요소를 추가합니다:
std::vector<int> numbers;
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);push_back() 메서드는 메모리 관리를 자동으로 처리하며, 요소를 추가할 때 필요에 따라 벡터를 확장합니다.
직접 해보기
#include <iostream>
#include <vector>
using namespace std;
int main() {
// 추가할 요소의 개수를 읽습니다
int n;
cin >> n;
// 빈 벡터를 생성합니다
vector<int> numbers;
// TODO: 여기에 코드를 작성하세요
// n개의 숫자를 읽고 push_back()을 사용하여 벡터에 추가하세요
// 각 추가 작업 후에 필요한 출력을 인쇄하세요
// 최종 벡터 출력
cout << "Final vector: ";
// TODO: 공백으로 구분된 모든 요소를 출력하세요
return 0;
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.