세용용용용 2024. 9. 1. 20:42

https://www.hackerrank.com/challenges/kangaroo/problem?isFullScreen=true

 

Number Line Jumps | HackerRank

Can two kangaroo meet after making the same number of jumps?

www.hackerrank.com

 

나의 풀이

#!/bin/python3

import math
import os
import random
import re
import sys

def kangaroo(x1, v1, x2, v2):
    if v2>=v1:
        return "NO"
    
    while True:
        x2+=v2
        x1+=v1
        
        if x2==x1:
            return "YES"
        elif x1>x2:
            return "NO"
            
if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')
    first_multiple_input = input().rstrip().split()
    x1 = int(first_multiple_input[0])
    v1 = int(first_multiple_input[1])
    x2 = int(first_multiple_input[2])
    v2 = int(first_multiple_input[3])
    result = kangaroo(x1, v1, x2, v2)
    fptr.write(result + '\n')
    fptr.close()

 

시간 복잡도

while 내부 조건이 걸리지 않으면 계속 진행 ( 선형 시간복잡도 )
즉, 해당 알고리즘 시간복잡도는 선형 시간 복잡도 ( O(n) )