저장을 습관화

프로그래머스 LV.1 평균 구하기 본문

코딩 테스트/프로그래머스 - 자바스크립트

프로그래머스 LV.1 평균 구하기

ctrs 2023. 7. 28. 19:39

프로그래머스 LV.1 평균 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/12944

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. 문제 명

평균 규하기


2. 문제 설명

정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.


3. 제한 사항

arr은 길이 1 이상, 100 이하인 배열입니다.

arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.


4. 예시

arr return
[1,2,3,4] 2.5
[5,5] 5


5. 기본 제공 코드

function solution(arr) {
    var answer = 0;
    return answer;
}


6. 제출한 내 답

function solution(arr) {
  var answer = 0;
  const qu = arr.length;

  for (i = 0; i < qu; i++) {
    answer += arr[i];
  }

  answer /= qu;

  return answer;
}

 

6-2. VSC에 작성한 내용

function solution(arr) {
  var answer = 0;
  const qu = arr.length;

  for (i = 0; i < qu; i++) {
    answer += arr[i];
  }

  answer /= qu;

  return answer;
}

// 테스트
arr = [1, 2, 3, 4];
console.log(solution(arr));

arr = [5, 5];
console.log(solution(arr));

arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
console.log(solution(arr));


7. 특이사항

코드를 더 줄이도록 하자..


8. 다른 사람이 작성한 답

8-1. 화살표 함수, reduce 메소드

// 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
// 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
function average(array){
  return array.reduce((a,b) => a+b) / array.length;
}


// 아래는 테스트로 출력해 보기 위한 코드입니다.
var testArray = [5,3,4] 
console.log("평균값 : " + average(testArray));

 

8-2. array.length를 변수에 할당할 필요도 없었음

// 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
// 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
function average(array){
  //함수를 완성하세요
var sum = 0;
  for(var i = 0; i<array.length; i++){
    sum += array[i];
  }
  return sum/array.length;
}


// 아래는 테스트로 출력해 보기 위한 코드입니다.
var testArray = [5,3,4] 
console.log("평균값 : " + average(testArray));