온도 차이를 양수로 바꾸기
자바스크립트 코딩테스트 문제로 number-math-methods 주제를 연습해보세요. 난이도는 easy이며, 브라우저에서 바로 JavaScript로 풀이를 실행할 수 있습니다.
현재 온도와 목표 온도의 차이를 항상 양수 값으로 반환하는 문제입니다.
오늘의 메서드
Math.abs()
메서드 설명
Math.abs()는 숫자의 절댓값을 반환하는 메서드입니다.- 양수는 그대로 반환하고, 음수는 부호를 없애 양수로 바꿉니다.
- 이 문제에서는 두 온도의 차이가 음수로 계산되더라도 실제 거리처럼 0 이상의 값으로 바꾸는 데 사용합니다.
기본 문법
Math.abs(number)
number: 절댓값으로 바꾸고 싶은 숫자입니다.
사용 예시
Math.abs(7); // 7
Math.abs(-7); // 7
Math.abs(0); // 0
주의할 점
Math.abs()는 원래 숫자를 바꾸는 것이 아니라 절댓값 결과를 새로 반환합니다.- 두 값의 차이를 구한 뒤
Math.abs()로 감싸야 방향과 상관없는 차이를 얻을 수 있습니다. Math.abs(current - target)과Math.abs(target - current)는 같은 결과를 만듭니다.- 숫자가 아닌 값을 넣으면 의도하지 않은 결과가 나올 수 있으므로, 이 문제에서는 입력을 숫자로 제한합니다.
제한사항
current와target은 정수입니다.-100 <= current <= 100-100 <= target <= 100- 반환값은 두 온도 차이의 절댓값입니다.
- 두 온도가 같으면
0을 반환합니다.
예시
- 입력:
current = 18,target = 25-> 출력:7 - 입력:
current = 30,target = 12-> 출력:18 - 입력:
current = -3,target = 4-> 출력:7 - 입력:
current = 10,target = 10-> 출력:0
힌트
- 먼저
current - target또는target - current로 두 온도의 차이를 구해 보세요. - 차이가 음수가 될 수 있으므로 절댓값으로 바꾸면 됩니다.
Math.abs(current - target)의 결과를 그대로 반환할 수 있습니다.
해설
이 문제는 두 숫자 사이의 차이를 방향이 없는 거리로 바꾸는 연습입니다.
예를 들어 현재 온도가 18도이고 목표 온도가 25도라면 18 - 25는 -7입니다. 하지만 온도 차이를 말할 때는 보통 -7도 차이가 아니라 7도 차이라고 표현합니다. 이때 Math.abs()를 사용하면 음수 부호를 없애 0 이상의 값으로 만들 수 있습니다.
풀이 흐름은 다음과 같습니다.
current - target으로 두 온도의 차이를 구합니다.- 그 값을
Math.abs()에 넣습니다. - 절댓값 결과를 반환합니다.
정답 코드는 다음처럼 작성할 수 있습니다.
function convertTemperatureGapToPositive(current, target) {
return Math.abs(current - target);
}
이 풀이가 적합한 이유는 직접 if문으로 음수인지 확인해 부호를 바꾸지 않아도, Math.abs() 하나로 “차이를 양수 거리로 바꾼다”는 의도를 분명하게 표현할 수 있기 때문입니다.
코드 작성
starter code를 바탕으로 함수를 완성한 뒤 예제 테스트를 실행해보세요.
JavaScript
에디터 로딩 중...
커스텀 테스트
함수 인자를 JSON 배열 형태로 입력하세요. 예: [3, 5], [[1, 2, 3]]
아직 실행하지 않았습니다.
실행 결과
아직 실행하지 않았습니다.
예제 테스트를 실행하면 여기에서 결과를 확인할 수 있습니다.
댓글
문제 풀이 아이디어, 질문, 반례를 자유롭게 나눠보세요.