알고리즘 16 - Keep Hydrated!

jabae·2021년 10월 16일
0

알고리즘

목록 보기
16/97

Q.

Nathan loves cycling.

Because Nathan knows it is important to stay hydrated, he drinks 0.5 litres of water per hour of cycling.

You get given the time in hours and you need to return the number of litres Nathan will drink, rounded to the smallest value.

For example:

time = 3 ----> litres = 1

time = 6.7---> litres = 3

time = 11.8--> litres = 5

A)

function litres(time) {
  return Math.floor(time / 2);
}

other

자바스크립트 이녀석 똑똑하다. c에서는 나누기 연산자를 쓰면 나머지는 버렸는데 나머지까지 계산을 해줘서 당황했다. 그렇지만 휴파님이 얼마 전에 알려주신 메소드가 떠올랐지 뭐야!

  • Math.floor: 버림, 바닥이라 버림이라 생각하면 쉽다.
  • Math.ceil : 올림, 천장이라 올려준다.

이외에도 parseInt를 쓴 솔루션도 보았는데...

function litres(time) {
  return parseInt(time/2);
}

이건 문자열을 숫자로 바꾸거나, 진수 변환할 때 쓰는 것 아니던가?!?! 한번 해보니까 소숫점을 버린다.

parseInt(3.5)   // 3
parseInt('3.5') // 3

정말 하나의 메소드도 다양한 방식으로 사용되는 것 같다.

profile
it's me!:)

0개의 댓글