[TIL]온도계 만들기 문제

yeols·2024년 1월 25일
0

[TIL]

목록 보기
68/72

온도계 만들기 문제

  • 매 1분마다 실행되는 함수 생성
  • 함수는 호출될때마다 온도 값이(num) 인풋된다
  • 함수는 호출될때마다 지금까지 받은 온도의 평균 온도 값을 내보낸다.
  • 호출은 무한으로 호출된다.
  • 디비에 값 저장 불러오기 X
  • 자바스크립트 또는 타입스크립트로 실행
  • setInterval로 실행되도 무관, 혹은 cronjob이 실행시킨다고 가정해도 무방

1차 코드

온도의 합과
평균을 구하기위한 카운터 합을
전역변수로 관리한다.

그리고 평균을 구하는 함수 averageTemperature 현재 평균을 받고 이전 온도와 현재 온도를 더하고 더한 값을 카운터를 1 증가시킨 후 평균을 리턴한다.

setInterval에서 0-31사이의 값을 랜덤으로 생성하고 averageTemperature를 호출하는 방식으로 진행된다.

// 전역변수 선언
// 입력된 온도 합
let sumTemperature: number = 0;
// 입력된 온도 카운터합
let sumCounter: number = 0;

/**
 * 온도의 평균값 구하는 함수
 * @param {number} currentTemperature
 */
const averageTemperature = (currentTemperature: number) => {
	sumTemperature += currentTemperature;
	return sumTemperature / ++sumCounter;
}

setInterval(() => {
	console.log(averageTemperature(Number((Math.random() * 31).toFixed(2))));
}, 60000);

문제점

무한으로 호출되기 때문에 number의 자료형의 최대 메모리를 넘어 갈경우 오류가 날수 있다.

profile
흠..

0개의 댓글

관련 채용 정보