有希
HackerRank/Number Line Jumps 본문
두 캥거루가 각자 다른 출발선에서 각자 다른 속도로 한 번씩 점프할 때 만날 수 있는가를 물어보는 문제.
속도가 빠른 녀석이 앞에 있다면 영영 만나지 못하니 NO
속도가 빠른 녀석이 뒤에 있다면 만날수도 있으므로 루프 돌면서 계산해서 만나면 YES처리해준다.
더 빠르게는, abs(x1-x2)%abs(y1-y2) == 0 라면 YES가 되겠다. while 루프를 도는 것을 한 번에 수학식으로 처리한 것이다.
string kangaroo(int x1, int v1, int x2, int v2) {
string ret="";
while(true)
{
if(v1 >= v2 && x1>x2)
{
ret = "NO";
break;
}
if(v2 >= v1 && x2 > x1)
{
ret = "NO";
break;
}
if(x1 == x2)
{
ret = "YES";
break;
}
x1 += v1;
x2 += v2;
}
return ret;
}
'프로그래밍 > 알고리즘+코딩테스트' 카테고리의 다른 글
HackerRank/Subarray Division (0) | 2022.05.08 |
---|---|
HackerRank/Between Two Sets (0) | 2022.05.03 |
HackerRank/Grading Students (0) | 2022.05.01 |
HackerRank/Time Conversion (0) | 2022.05.01 |
LeetCode/ Jump Game (0) | 2022.04.30 |