[HackerRank] Number Line Jumps

Jongmin Lee (SAVZAK)·2021년 5월 29일
0

HackerRank

목록 보기
2/39

[문제 링크]

[입력]

x1 : 첫번째 캥거루의 시작 위치 , 정수
v1 : 첫번째 캥거루가 한번당 뛰는 거리 , 정수
x2 : 두번째 캥거루의 시작 위치 , 정수
v2 : 두번째 캥거루가 한번당 뛰는 거리 , 정수

[출력]

만약 두 캥거루가 같은 위치에 도달한다면 'YES'
그렇지 않다면 'NO' 를 반환한다.

[제약조건]

ㆍ 0≤x1<x2≤10000
ㆍ 1≤x1≤10000
ㆍ 1≤x2≤10000

[해결 아이디어]

첫번째 캥거루의 시작위치는 두번째 캥거루의 시작위치보다 뒤에 있다.
따라서 첫번째 캥거루의 점프하는 거리가 두번째 캥거루의 점프하는 거리보다 적다면 무조건 NO 이다.
만약 아니라면 계속 위치 좌표에 점프하는 값을 더하여 두 캥거루의 위치가 같다면 YES 를,
그 순간 첫번째 캥거루가 두번째 캥거루보다 앞지른다면 NO 를 반환하면 된다.

[코드]

def kangaroo(x1, v1, x2, v2):
    # Write your code here
    while 1:
        if(v1<=v2):
            return 'NO'
        else:
            x1 += v1
            x2 += v2
            if(x1==x2):
                return 'YES'
            if(x1>x2):
                return 'NO'
    
profile
느리지만 단단하게 걷는 개발자

0개의 댓글