참고: 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: 화씨에서 섭씨로 변환하는 단계는 다음과 같습니다.
- 섭씨에 9/5 곱하기
- 그 다음 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를 더하면 됩니다. 이를 함수로 작성할 때 가독성을 위해 다른 변수를 사용해도 되지만 축약형으로 만들 수도 있습니다.
'dev > javascript' 카테고리의 다른 글
[javascript] CSS responsive grid (flexbox) (7) | 2023.05.02 |
---|---|
[javascript] 자바스크립트 타자기 효과로 글쓰기 (7) | 2023.05.02 |
[javascript] 자바스크립트 querySelector vs getElementById (7) | 2023.05.02 |
[javascript] 자바스크립트 다운로드 링크 만들기 (5) | 2023.05.01 |
[javascript] 자바스크립트 툴팁 (tooltip) (5) | 2023.04.26 |
댓글