작은 개구리가 도로의 반대편으로 가려고 합니다.
개구리는 현재 위치 X에 있으며, 목표는 위치 Y 이상에 도달하는 것입니다.
개구리는 항상 고정된 거리 D만큼 점프합니다.

개구리가 목표 지점에 도달하기 위해 필요한 최소 점프 횟수를 구하세요.

함수는 다음과 같이 작성해야 합니다:

class Solution {
    public int solution(int X, int Y, int D);
}

이 함수는 정수 X, Y, D가 주어졌을 때,
개구리가 위치 X에서 시작하여 위치 Y 이상에 도달하기 위해 필요한
최소 점프 횟수를 반환해야 합니다.

예시:
X = 10
Y = 85
D = 30

개구리는 다음과 같이 이동합니다:
- 첫 번째 점프 후: 10 + 30 = 40
- 두 번째 점프 후: 40 + 30 = 70
- 세 번째 점프 후: 70 + 30 = 100

따라서 함수는 3을 반환해야 합니다.

효율적인 알고리즘 조건:
- X, Y, D는 [1..1,000,000,000] 범위의 정수입니다.
- 항상 X ≤ Y 입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class FrogJump
{
    public int solution(int X, int Y, int D)
    {
        // 점프 목표 거리에서 시작 거리를 뺌
        int targetDistance = Y - X;
 
        // 점프 거리로 나눈 몫이 최소 점프 횟수
        int jumps = targetDistance / D;
 
        // 정수로 나뉘어지지 않으면 한번 더뜀
        if (targetDistance % D != 0)
            jumps += 1;
 
        return jumps;
    }
}
cs

'코딜리티 > Lesson' 카테고리의 다른 글

TapeEquilibrium (누적합 + 이항)  (0) 2025.09.15
PermMissingElem (등차수열)  (0) 2025.09.14
OddOccrurrencesInArray (짝 없는 원소)  (0) 2025.09.13
CyclicRotation (배열 회전)  (0) 2025.09.13
BinaryGap (이진 갭)  (0) 2025.09.13

+ Recent posts