[c++] 변형 알고리즘

C++ 표준 라이브러리는 유용한 여러 가지 알고리즘들을 제공합니다. 이 중에서도 std::transform은 매우 유용한 변형 알고리즘입니다.

std::transform 알고리즘

이 알고리즘은 두 개 이상의 컨테이너를 대상으로 작업하여 결과를 다른 컨테이너에 저장합니다. 예를 들어, 한 벡터의 각 요소를 두 배로 만들어 다른 벡터에 저장하거나, 두 벡터의 각 요소를 더해서 결과를 새로운 벡터에 저장하는 등의 작업이 가능합니다.

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> input = {1, 2, 3, 4, 5};
    std::vector<int> output;

    std::transform(input.begin(), input.end(), std::back_inserter(output), [](int i) { return i * 2; });

    for (int i : output) {
        std::cout << i << " ";
    }

    return 0;
}

위 예제에서는 input 벡터의 각 요소를 두 배로 만들어 output 벡터에 저장하는 예제입니다.

참고 자료