타닥타닥 개발자의 일상

자바스크립트 배열에 있는 수들의 최소값, 최대값 구하는 방법으로 일교차 구하는 함수 만들기javascript 본문

카테고리 없음

자바스크립트 배열에 있는 수들의 최소값, 최대값 구하는 방법으로 일교차 구하는 함수 만들기javascript

NomadHaven 2022. 12. 5. 23:00
문제)
가정용 온도계를 만드는 회사에 근무하고 있는 당신, 최근의 업무는 하루 동안의 온도를 배열로 만들고 amplitude를 계산하는 것이다. 기기 오작동이 날수도 있음을 참고하라. 

 

We work for a company building a smart home thermometer. Our most recent task is this: "Given an array of temperatures of one day, calculate the temperature amplitude. Keep in mind that sometimes there might be a sensor error"
 
하루 동안의 온도는 tmeperature이라는 변수에 배열로 저장되어 있다. 중간 기기 오작동으로 error가 포함되어 있다.
const temperature = [3, -2, -6, -1, 'error', 9, 13, 17, 15, 14, 9, 5];
calcTemoAmplitude라는 함수를 만든다. 해당 함수는 temps라는 매개 변수를 받고 max라는 최대값과 min이라는 최소값의 차를 반환한다.
const calcTemoAmplitude = function (temps) {
  let max = temps[0]; // 최대값
  let min = temps[0]; // 최소값

  for (let i = 0; i < temperature.length; i++) {
    const curTemp = temps[i];

    //타입이 넘버가 아니면 continue 아래 문장은 실행하지 않고 다음 element로 넘어간다.
    if (typeof curTemp !== 'number') continue;

    if (curTemp > max) max = curTemp;
    if (curTemp < min) min = curTemp;
  }
  console.log(max, min);
  return max - min;
};​

calcTemoAmplitude에 하루동안의 온도를 나타내는 배열은 temperture이라는 변수를 넘겨준다.
const amplitude = calcTemoAmplitude(temperature);
console.log(amplitude);

 

문제2)


 
위의 함수를 업그레이드 시켜 두가지 배열을 매개변수로 받은 뒤 두가지 배열의 모든 element들 중에서 가장 큰 값과 작은 값을 구한다.

 

const calcTemoAmplitudeNew = function (t1, t2) {
 
 //concat은 두가지 배열을 연결하는 메소드다.
 const temps = t1.concat(t2);
  console.log(temps);

  let max = temps[0];
  let min = temps[0];

  for (let i = 0; i < temperature.length; i++) {
    const curTemp = temps[i];

    //타입이 넘버가 아니면 continue 아래 문장은 실행하지 않고 다음 element로 넘어간다.
    if (typeof curTemp !== 'number') continue;

    if (curTemp > max) max = curTemp;
    if (curTemp < min) min = curTemp;
  }
  console.log(max, min);
  return max - min;
};

const amplitudeNew = calcTemoAmplitudeNew([3, 5, 1], [9, 0, 5]);
console.log(amplitude);
Comments