728x90
๐ํ๋ก๊ทธ๋๋จธ์ค | ํ๊ท ๊ฐ ๊ตฌํ๊ธฐ ๋ฌธ์ ๋ฅผ ํ๋ ค๋ค๊ฐ, STL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ๋ฌด์์ด ์๋์ง๋ ์์๋ณด๊ธฐ ์ํด ์ฐพ์๋ณด๋,
๋์ ํฉ๊ณ๋ฅผ ๊ตฌํด์ฃผ๋ ํจ์, std::accumulate()๊ฐ ์์์ต๋๋ค. C++ 17์์ ์ถ๊ฐ๋ ํจ์๋ก, <numeric> ํค๋ํ์ผ์ #include ํด์ค์ผ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
#include <numeric>
std::accumulate(์์ ์์น, ๋ ์์น - 1, ์ด๊ธฐ๊ฐ);
ํด๋น ํจ์๋ฅผ ํตํด ์ป์ ๋ฐํ๊ฐ์ ์ด๊ธฐ๊ฐ์ ๋ฐ์ดํฐ ํ์ ์ ๋ฐ๋ผ๊ฐ๋ค๊ณ ํ๋ค์. ์ค๋ฒํ๋ก์ฐ ๋ฐฉ์ง๋ฅผ ์ํด long ํ์ ์ ์ฐ๊ณ ์ถ์ผ์ ๋ถ๋ค์ ์ด๊ธฐ๊ฐ์ 0์ด ์๋ 0L์ ์ค์ผํ๊ฒ ์ต๋๋ค.
ํ๊ท ๊ฐ ๊ตฌํ๊ธฐ ๋ฌธ์ ์์ค์ฝ๋
#include <string>
#include <vector>
#include <numeric>
using namespace std;
double solution(vector<int> numbers) {
int sum = accumulate(numbers.begin(), numbers.end(), 0);
double answer = static_cast<double>(sum) / numbers.size();
return answer;
}
728x90
๋ฐ์ํ
'๐ฏ๏ธLanguage > C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++] ๊ธฐ๋ณธ ์๋ฃํ๊ณผ ํ ํ๋ฆฟ์ ์์ฑ์ ์ด๊ธฐํ (0) | 2023.01.25 |
---|---|
[C++] ์ถ์ ํด๋์ค(abstract class) (0) | 2022.07.07 |
[C++] ํด๋์ค ์์ ์, ์๋ฉธ์๋ฅผ ๊ฐ์ ํจ์(Virtual)๋ก ๋ง๋ค์ด์ผ ํ๋ ์ด์ (0) | 2022.07.07 |
[C++] ์ฐ์ฐ์ ์ค๋ฒ๋ก๋ฉ (Operator Overloading) (1) (0) | 2022.03.08 |
[C++] mutable ํค์๋ (0) | 2022.03.08 |