본문 바로가기
dev/javascript

[javascript] 자바스크립트 섭씨를 화씨로 변환

by 최연탄 2023. 5. 2.
728x90
반응형

참고: https://medium.com/@DylanAttal/convert-celsius-to-fahrenheit-in-javascript-b6b76b47c4f0

온도를 섭씨에서 화씨로 변환하는 것은 흔히 하는 계산입니다. 이는 알고리즘을 공부할 때 시작하기 좋은 예제입니다. 왜냐하면 섭씨에서 화씨로 변환하는 것은 매우 명확한 단계가 있기 때문입니다.

알고리즘

섭씨에서 화씨로 변환하는 알고리즘은 섭씨에 9/5를 곱하고 32를 더하는 것 입니다.

구체적으로 섭씨를 나타내는 celsius 변수가 주어지고 이 변수를 이용해 fahrenheit 변수에 섭씨에 해당하는 화씨를 할당합니다. 위에서 언급한 알고리즘을 사용하여 섭씨 온도를 화씨 온도로 변환하면 됩니다.

함수와 리턴 값에 대해서는 향후 다룰 것 이므로 너무 걱정하지 않아도 됩니다. 지금은 일단 언급된 내용을 코드로 만들어 보겠습니다.

function convertToF(celsius) {
  let fahrenheit;
  return fahrenheit;
}

convertToF(30);

테스트 케이스

  • convertToF(0)은 숫자를 리턴해야 한다.
  • convertToF(-30)은 -22를 리턴해야 한다.
  • convertToF(-10)은 14를 리턴해야 한다.
  • convertToF(0)은 32 리턴
  • convertToF(29)은 68 리턴
  • convertToF(30)은 86 리턴

솔루현: 곱셈 및 덧셈 (PEDAC: Problem, Example/Test Cases, Data Structure, Algorithm, Code)

Problem: 여기서 입력은 섭씨 온도이고 출력은 화씨 온도 입니다. 즉, 알고리즘은 섭씨 온도를 가져와서 화씨 온도를 리턴하는 것 입니다. 테스트 케이스를 보면 매개변수로 정수를 받는 것 같지만 이는 음수가 될 수도 있습니다. 섭씨를 화씨로 변환하는 공식이 주어졌으므로 변환에 관한 수학적 연산에 대해 걱정할 필요는 없습니다.

Example/Test Cases: 위에 테스트 케이스가 몇 개 주어졌고, 함수의 입력과 출력은 모두 정수이며 둘 다 음수가 될 수도 있습니다.

Data Structure: 이 알고리즘을 짜는데 너무 PEDAC에 얽매여 있을 필요 없습니다. 하고자 하는 것은 그저 숫자 변환 뿐 입니다.

Algorithm: 화씨에서 섭씨로 변환하는 단계는 다음과 같습니다.

  1. 섭씨에 9/5 곱하기
  2. 그 다음 32 더하기

Code: 섭씨에서 화씨로 바꾸는 알고리즘을 다음과 같이 공식으로 나타낼 수 있습니다.

function convertToF(celsius) {
  // 주어진 섭씨를 화씨로 변환
  // 주어진 섭씨 값에 9/5를 곱하고 32를 더함
  let fahrenheit = celsius * 9/5 + 32;
  // fahrenheit 변수를 결과 값으로 리턴
  return fahrenheit;
}

convertToF(30);

온도 변환을 위해 산술연산 공식으로 만들어 간단히 표현했습니다. fahrenheit 변수를 선언하고 결과 값을 만든 다음 리턴했습니다. fahrenheit 변수는 알고리즘이 수행하는 작업을 더 이해하기 쉽게 해주지만 반드시 필요한 것은 아닙니다. 위의 코드는 변수를 사용하지 않고 바로 리턴하도록 수정할 수도 있습니다.

function convertToF(celsius) {
  return celsius * 9/5 + 32;
}

convertToF(30);

정리

섭씨를 화씨로 변환하는 방법은 섭씨에 9/5를 곱하고 32를 더하면 됩니다. 이를 함수로 작성할 때 가독성을 위해 다른 변수를 사용해도 되지만 축약형으로 만들 수도 있습니다.

반응형

댓글