[Codility] Lesson 3.1 - 개구리 점프

code4109·2022년 11월 9일
0

coding dojo

목록 보기
5/6

어디선가 풀어 본 문제
한 번에 D만큼 뛸 수 있는 개구리가 X에서 Y까지 간다고 할 때, 몇 번 점프를 해야 도착점까지 도착하거나 뛰어 넘는지 구하는 문제.
파라메터는 시작점 값(X), 도착점 값(Y), 한 번 점프할 때 뛸 수 있는 거리(D)가 있다.
예를 들어

X = 10
Y = 85
D = 30

일 때,

첫번째 점프 10 + 30 = 40
두번째 점프 40 + 30 = 70 (아직 도착점 전이므로 한 번 더 뛴다.)
세번째 점프 70 + 30 = 100 (도착점을 지났지만 넘었으므로 OK)
  • X, Y, D는 1~1000000000의 정수
  • X ≤ Y

첫번째 풀이

  • 총 거리를 구하고 점프할 때 뛰는 거리로 나누면 되는 것 같았다. 물론 나머지가 있다면 도착점까지 도달하지 못한 것이므로 1을 더해줌
public int solution(int X, int Y, int D) {
    return (Y - X)/D + ((Y - X)%D == 0 ? 0 : 1);
}

0개의 댓글