Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 반복문
- 오름차순
- map함수
- 운동
- 프로그래머스
- 리엑트
- CSS
- MPA
- reduce함수
- 배열뒤집기
- 머쓱이
- 코딩테스트
- 코딩문제
- for문
- 코딩
- React-Three-Fiber
- Programmers
- Javascript
- 자바스크립트
- threejs
- 프레임워크
- 코딩공부
- 헬스
- 웹팩
- 코딩연습
- axios
- 코딩입문
- 자바스크립
- react
- codingtest
Archives
- Today
- Total
SG의 개발 공부로그
배열의 평균값 [프로그래머스 코딩테스트] 본문
728x90
배열의 평균값
문제 설명
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요.
제한사항
- 0 ≤ numbers의 원소 ≤ 1,000
- 1 ≤ numbers의 길이 ≤ 100
- 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.
입출력 예
numbers | result |
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] | 5.5 |
[89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99] | 94.0 |
입출력 예 설명
입출력 예 #1
- numbers의 원소들의 평균 값은 5.5입니다.
입출력 예 #2
- numbers의 원소들의 평균 값은 94.0입니다.
풀이
for 문을 이용해서 변수에 배열들을 합산하고,
그 후 numbers.length 배열의 길이만큼 나눈 값을 return 했다.
function solution(numbers){
let answer = 0;
for(i of numbers) {
answer += i
}
return answer / numbers.length;
}
for of 반복문은 ES6에서 추가된 새로운 컬렉션 전용 반복구문이다.
let iterable = [10, 20, 30];
for (var value of iterable) {
console.log(value); // 10, 20, 30
}
for in 반복문과 for of 반복문의 차이점
- for in 반복문 : 객체의 모든 열거 가능한 속성에 대해 반복
- for of 반복문 : [Symbol.iterator] 속성을 가지는 컬렉션 전용
참조링크
https://velog.io/@onea/JS-for-...of%EC%99%80-for-...in%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90
다른 풀이
reduce함수를 사용하여 초기값은 0으로 해놓고,
누산값과 현재 값을 더 해가면서 합산한 값을 number.length 로 나눠주었다.
function solution(numbers) {
let answer = numbers.reduce((acc,cur) => acc + cur, 0) / numbers.length;
return answer;
}
reduce함수 참조링크
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
728x90
'CodingTest' 카테고리의 다른 글
머쓱이보다 키 큰 사람 [프로그래머스 코딩테스트 입문] (0) | 2023.01.15 |
---|---|
짝수의 합 [프로그래머스 코딩테스트 입문] (0) | 2023.01.15 |
두 수의 나눗셈 [프로그래머스 코딩테스트 입문] (0) | 2023.01.04 |
각도기 [프로그래머스 코딩테스트 입문] (0) | 2023.01.04 |
나머지 구하기 [프로그래머스 코딩테스트 입문] (0) | 2023.01.04 |