๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ
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
๋ฐ˜์‘ํ˜•