주어진 숫자의 소숫점 자리를 잘라버리고,
그 숫자 이하의 가장 큰 정수를 반환하는 함수.
Math.floor(-45.95)
는 왜 -45
가 아닌 -46
일까?
음수 | 양수 | |
---|---|---|
더 큰 정수 | -45 | 46 |
입력값 | -45.95 | 45.95 |
더 작은 정수 | -46 | 45 |
양수에서는 소숫점을 뗀 숫자가 입력값 이하의 가장 큰 정수지만,
음수는 -
뒤의 숫자가 커질수록 작은 값이기 때문에
-45.95
이하의 가장 큰 정수는 -46
이 되는 것이다.
function solution(n, k) {
let first = 12000 * n + 2000 * k
let service = Math.floor(n/10) * 2000
return first - service
or
return (12000 * n + 2000 * k) - (Math.floor(n/10) * 2000)
(양꼬치, 음료수의 값의 총합) - (음료수 서비스 받은 값) = (총 지불해야 할 값)
10인분 당 1개 제공되는 서비스 음료의 갯수를 구하기 위해
n / 10 의 몫을 구하는 과정에서 Math.floor 함수를 사용했다.