작은 개구리가 도로의 반대편으로 가려고 합니다.
개구리는 현재 위치 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 |