Number Line Jumps [Hacker Rank]

Kim Hayeon·2023년 5월 10일
0

Algorithm Study

목록 보기
16/37
post-thumbnail

Question

You are choreographing a circus show with various animals. For one act, you are given two kangaroos on a number line ready to jump in the positive direction (i.e, toward positive infinity).

  • The first kangaroo starts at location x1 and moves at a rate of v1 meters per jump.
  • The second kangaroo starts at location x2 and moves at a rate of v2 meters per jump.

You have to figure out a way to get both kangaroos at the same location at the same time as part of the show. If it is possible, return YES, otherwise return NO.

Function Description

Complete the function kangaroo in the editor below.

kangaroo has the following parameter(s):

  • int x1, int v1: starting position and jump distance for kangaroo 1
  • int x2, int v2: starting position and jump distance for kangaroo 2

Returns

  • string: either YES or NO

Code

간단한 일차방정식 문제로 풀 수 있었다. 시작 지점 x에서 한번에 v만큼 움직일 때, 총 거리가 같으면 YES, 그렇지 않으면 NO를 출력하면 된다.

이는 위에 메모와같이 일차방정식으로 표현할 수 있다. 이를 코드로 구현하면 다음과 같다.


def kangaroo(x1, v1, x2, v2):
    # Write your code here
    a = v1 - v2
    b = x2 - x1
    if a!= 0 and b%a == 0 and b/a > 0 :
        return 'YES'
    else:
        return 'NO'
        
profile
우리는 무엇이든 될 수 있어

0개의 댓글