728x90
JS
문제
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
제한사항
arr은 길이 1 이상, 100 이하인 배열입니다.
arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.
계획
for문으로 돌려서 전체 합산 -> arr 길이로 나누기
답
function solution(arr) {
let sum=0;
for (let n of arr){
sum +=n;
}
return sum/arr.length
}
코드 간략화하기
function solution(arr) {
return arr.reduce((sum, n) => sum + n, 0) / arr.length;
}
reduce 메서드: 배열의 모든 요소를 순회하며 합계를 계산합니다.
(sum, n) => sum + n은 누적된 값(sum)에 현재 요소(n)를 더합니다.
초기값은 0입니다.
출처
reduce 매서드 : https://miiingo.tistory.com/365
◆ C++
계획
js의 for of 와 비슷한 c++에서 for (const auto& 변수명 : 배열명) 사용하기
참고, 풀이
for (const auto& 변수명 : 배열명)
for (const auto& number : arr)
배열 길이 : arr.size()
답
#include <string>
#include <vector>
using namespace std;
double solution(vector<int> arr) {
double sum = 0;
for (const auto& number : arr){
sum += number;
}
return sum/arr.size();
}
코드 간략화하기
#include <numeric>
#include <vector>
using namespace std;
double solution(const vector<int>& arr) {
return accumulate(arr.begin(), arr.end(), 0.0) / arr.size();
}
참고
for문 : https://boycoding.tistory.com/210
배열길이 : https://dev-mystory.tistory.com/126
'코딩 테스트 > 알고리즘' 카테고리의 다른 글
알고리즘 14번 - 추가공부 (0) | 2024.11.13 |
---|---|
알고리즘 13번 - js, c++ (1) | 2024.11.13 |
알고리즘 11번-JS, c++ (2) | 2024.11.13 |
알고리즘 10번 - js, c++ (0) | 2024.11.12 |
알고리즘 9번 - js, c++ (0) | 2024.11.12 |