-
[Codility - Time Complexity] FrogJmpAlgorithm/구현(Brute force, Back tracking, etc.) 2021. 9. 16. 10:22728x90
https://app.codility.com/programmers/lessons/3-time_complexity/frog_jmp/
- X,Y,D의 범위는 10억이 넘어간다. 따라서, 시간복잡도를 잘 신경써야한다. 보통 연산횟수가 1억이 넘어가면 시간초과가 뜬다.
- Y가 X보다 작아질 때 까지 Y-D를 계속 하는 방법은 시간초과가 떠버리고 만다.
- 따라서, Y-X를 D로 나눈 몫을 구하고 (answer에 대입), 만약 Y-X를 D로 나눈 나머지가 0이 아니면, Y에 도달하기 위해 추가로 1번을 더 뛰어야 한다는 것이므로 answer에 +1을 해주면 된다.
function solution(X, Y, D) { const minDistance = Y - X; return minDistance % D ? (Math.floor(minDistance / D) + 1) : (Math.floor(minDistance / D)) }
'Algorithm > 구현(Brute force, Back tracking, etc.)' 카테고리의 다른 글
[Codility - Counting Elements] MaxCounters (0) 2021.09.17 [Codility - Counting Elements] PermCheck (0) 2021.09.17 [Codility - Arrays] TapeEquilibrium (0) 2021.09.17 [Codility - Arrays] PermMissingElem (0) 2021.09.16 백준 17140 이차원 배열과 연산 (0) 2021.03.04