Menu
Coddy logo textTech

For 루프로 반복하기

Coddy C++ 여정의 로직과 흐름 섹션에 포함된 레슨. 56개 중 14번째.

이제 벡터의 개별 요소에 액세스하고 크기를 확인하는 방법을 알았으니, traditional for loop을 사용하여 모든 요소를 체계적으로 처리하는 방법을 배워 보겠습니다. 이 접근 방식은 .size() 메서드와 인덱스 기반 액세스를 결합하여 각 요소를 순서대로 방문합니다.

traditional for loop은 0에서 시작하여 vector의 size에 도달할 때까지 증가하는 인덱스 변수를 사용합니다:

std::vector<std::string> names = {"Alice", "Bob", "Charlie"};

for (int i = 0; i < names.size(); i++) {
    std::cout << names[i] << std::endl;
}

이 예제에서 i < names.size()라는 loop 조건은 vector의 범위를 벗어나지 않도록 보장하며, names[i]는 현재 인덱스를 사용하여 각 요소에 액세스합니다. loop는 각 이름을 별도의 줄에 출력합니다.

이 패턴은 데이터 컬렉션을 처리하는 데 기본이 됩니다. 인덱스 변수 i를 사용하면 작업 중인 요소를 정확하게 제어할 수 있으므로, 각 요소의 위치를 알아야 하거나 반복 중에 요소를 수정하려는 경우에 유용합니다.

루프가 끝난 후 inames.size()와 같으며, 이 경우에는 3입니다. 조건 i < names.size()가 거짓이 되는 즉시 루프가 멈추기 때문입니다.

challenge icon

챌린지

쉬움

traditional for loop을 사용하여 product names의 vector를 iterate through하고, 번호가 매겨진 목록 형식으로 표시하는 프로그램을 Create하세요.

다음 입력이 제공됩니다:

  • product의 number를 나타내는 정수 n
  • 그 다음 product names를 나타내는 n개의 string

프로그램은 다음을 수행해야 합니다:

  1. products라는 이름의 std::vector<std::string>을 Create합니다.
  2. push_back()을 using하여 n개의 product names를 vector에 each add합니다.
  3. 인덱스 변수를 사용하는 traditional for loop을 사용하여 vector를 iterate through합니다.
  4. loop에서 loop 조건에 .size() method를 사용합니다.
  5. square bracket [] operator를 사용하여 인덱스로 each element에 액세스합니다.
  6. 지정된 형식으로 each product를 its position number와 함께 출력합니다. position은 1에서 시작합니다.

다음 exact output format을 사용하세요:

Product 1: [first product name]
Product 2: [second product name]
Product 3: [third product name]
...

for loop은 index 0에서 시작하고, 조건으로 i < products.size()를 사용하며, each iteration에서 i를 증가시켜야 합니다. 출력할 때 index에 1을 add하여 position number가 1에서 시작하도록 표시하세요.

직접 해보기

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main() {
    // 제품의 개수를 읽습니다
    int n;
    cin >> n;
    
    // 제품 이름을 저장할 벡터를 생성합니다
    vector<string> products;
    
    // 제품 이름을 읽고 벡터에 추가합니다
    for (int i = 0; i < n; i++) {
        string product;
        cin >> product;
        products.push_back(product);
    }
    
    // TODO: 아래에 코드를 작성하세요
    // 전통적인 for 루프를 사용하여 벡터를 순회합니다
    // 그리고 각 제품을 위치 번호와 함께 출력합니다
    
    return 0;
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

로직과 흐름의 모든 레슨

직접 연습해 보세요: 온라인 C++ 컴파일러