๐ import ํค๋ํ์ผ
#include <numeric> // accumulate๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ํ์
<numeric>๋ C++ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํค๋ ํ์ผ ์ค ํ๋๋ก, ๋ฒกํฐ๋ ๋ฐฐ์ด ๋ฑ์ ๋ฐ์ดํฐ ์งํฉ์ ๋ํด ๋์ ํฉ, ๋ด์ , ์ฐจ๋ถ ๊ณ์ฐ ๋ฑ์ ๊ฐ๋จํ๊ฒ ์ํํ ์ ์๋ ์ ์ฉํ ํจ์๋ค์ ์ ๊ณตํ๋ค.
์ฝ๋ฉ ํ ์คํธ ๋ฌธ์ ๋ฅผ ํ ๋ ๋ฒกํฐ๋ ๋ฐฐ์ด ์์๋ฅผ ๋น ๋ฅด๊ณ ๊ฐํธํ๊ฒ ๋์ ํ ์ ์๋ค.
๐ ์ธ์ ์ค๋ช
โ ์ฒซ๋ฒ์งธ ์ธ์ : ์์ ๋ฐ๋ณต์(๋ฒ์์ ์์)
โ ๋๋ฒ์งธ ์ธ์ : ๋ ๋ฐ๋ณต์(๋ฒ์์ ๋)
โ ์ธ๋ฒ์งธ ์ธ์: ๋์ ์ฐ์ฐ์ ์ด๊ธฐ๊ฐ
๐ ์์
โ ๊ธฐ๋ณธ์ ์ธ ๋ฒกํฐ ์์์ ํฉ
#include <numeric> // accumulate๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ํ์
#include <vector>
#include <iostream>
using namespace std;
vector<int> vec = {1, 2, 3, 4, 5};
int main() {
int sum = accumulate(vec.begin(), vec.end(), 0); // 0์ ์ด๊ธฐ๊ฐ
cout << "๋ฒกํฐ ์์์ ํฉ: " << sum << "\n";
return 0;
}
โ ์ด๊ธฐ๊ฐ์ ํ์ฉํ ๋์
๐๐ป ์ด๊ธฐ๊ฐ 100์ผ๋ก ์ค์ ์
#include <numeric>
#include <vector>
#include <iostream>
using namespace std;
vector<int> numbers = {1, 2, 3, 4};
int main() {
int sum_with_initial = accumulate(numbers.begin(), numbers.end(), 100);
cout << "์ด๊ธฐ๊ฐ 100์ ํฌํจํ ํฉ: " << sum_with_initial << "\n"; // ์ถ๋ ฅ: 110
return 0;
}
โ ์ฌ์ฉ์ ์ ์ ํจ์๋ก ๊ณฑ, ์ฐจ, ์กฐ๊ฑด๋ถ ๋ฑ์ ๊ณ์ฐ๋ ๊ฐ๋ฅํ๋ค.
accumulate์ ๋ค๋ฒ์งธ ์ธ์๋ก ์ฌ์ฉ์ ์ ์ ์ฐ์ฐ์ ์ ๋ฌํ ์ ์๋ค.
#include <numeric>
#include <vector>
#include <iostream>
using namespace std;
vector<int> numbers = {1, 2, 3, 4};
int main() {
int product = accumulate(numbers.begin(), numbers.end(), 1, [](int a, int b) {
return a * b;
});
cout << "๋ฒกํฐ ์์์ ๊ณฑ: " << product << "\n"; // ์ถ๋ ฅ: 24
return 0;
}
#include <numeric>
#include <vector>
#include <iostream>
using namespace std;
//์ด๊ธฐ๊ฐ 100์ผ๋ก ์ก๊ณ ๋นผ๊ธฐ
vector<int> numbers = {1, 2, 3, 4};
int main() {
int product = accumulate(numbers.begin(), numbers.end(), 100, [](int a, int b) {
return a - b;
});
cout << "๋ฒกํฐ ์์์ ์ฐจ: " << product << "\n"; // ์ถ๋ ฅ: 24
return 0;
}
//๋ฒกํฐ ์์์ ์ฐจ: 90
#include <numeric>
#include <vector>
#include <iostream>
using namespace std;
vector<int> numbers = {1, 2, 3, 4, 5, 6};
int main() {
int even_sum = std::accumulate(numbers.begin(), numbers.end(), 0, [](int a, int b) {
return b % 2 == 0 ? a + b : a;
});
cout << "์ง์์ ํฉ: " << even_sum << "\n"; // ์ถ๋ ฅ: 12
return 0;
}
โ ์ซ์๋ฟ๋ง ์๋๋ผ ๋ฌธ์์ด ์ฐ์ฐ๋ ๊ฐ๋ฅํ๋ค.
#include <numeric>
#include <vector>
#include <string>
#include <iostream>
using namespace std;
vector<string> words = {"Hello", " ", "World", "!"};
int main() {
string sentence = accumulate(words.begin(), words.end(), string(""));
cout << "๋ฌธ์ฅ: " << sentence << "\n"; // ์ถ๋ ฅ: Hello World!
return 0;
}
'C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++] 2์ฐจ์ ๋ฒกํฐ ์ด๊ธฐํ clear, assign (1) | 2025.01.02 |
---|---|
[C++] main(int argc, char *arvg[]) (0) | 2023.03.07 |
[C++] ios_base::sync_with_stdio(0) (0) | 2023.03.07 |
[C++] ์ง์ญ๋ณ์, ์ ์ญ๋ณ์, ์ ์ ๋ณ์, ์ธ๋ถ๋ณ์ (0) | 2023.02.23 |
[C++] ๋ฐฐ์ด, ๊ตฌ์กฐ์ฒด (0) | 2023.02.23 |