[Codility] Lesson3. Frog Jump [Easy] - 파이썬

곌로그·2023년 5월 1일
1

[python]코딩테스트

목록 보기
12/34
post-thumbnail

문제 링크


문제 요약

Lesson 3의 Time Complexity 에 해당한다.

개구리의 시작 위치는 X로 주어지고 목표로하는 위치는 Y로 주어진다. 개구리는 Y위치보다 더 많이 혹은 같에 이동하고 싶어한다.
개구리는 고정된 거리만큼 점프를 할 수 있는데, 이 값은 D로 주어진다.
개구리가 목표하는 지점까지 도달하기 위해서 최소 점프 횟수를 return 하면 된다.

더 자세한 내용들은 위의 링크로 이동하여 확인해보길 바란다.


문제 풀이 - 시간 복잡도 O(1)


def solution(X, Y, D):
    # Implement your solution here
    togo = Y - X
    q =togo // D
    # print(q)
    r = togo % D
    # print(r)
    if r == 0:
        return q
    else:
        return q+1

📌 고려해야할 점

  • 시간 복잡도를 고려해야하는 문제이기 때문에, 반복문을 쓰지 않고 풀 수 있다면, 그 방법으로 가야한다.
  • 목표 위치 Y에서 현재 위치 X를 빼주어 가야하는 거리를 계산해주고 고정된 점프 길이를 나누어 몫과 나머지를 따로 저장해준다.
  • 만약, 나머지가 존재한다면 몫에서 1을 더해준 값을 return 한다.

🙄 느낀 점

Max counter 문제를 풀고 시간 복잡도를 고려해 효율적인 코드 짜기 연습을 하려고 풀었다. 처음에는 무심코 반복문 돌려야하나 했지만, 전혀 필요 없었고 10분만에 풀이할 수 있었다.

내가 보려고 저장하는 문제 풀이 링크

0개의 댓글