def solution(X, Y, D): n = Y-X if n/ float(D) == n / D: return n /D else: return (n/D)+1
엄청 간단해 보이는 문제였는데 힘겹게 풀었다.
파이썬에서 10/3 값이 3.33333이 아니라
3으로 나온다는걸 이용해서 푼 문제.
소수점 까지 표시해주고 싶으면 나누는 값이나 나눠지는 값에 float()함수를 씌워줘야 한다.
예를 들어 X=10, Y=85, D=30 이라고 하면
n = 85-10 = 75이다.
n / D = 75 /30 = 2.5인데
float 함수를 씌우면 2.5라는 값이 나오고 아니라면 소숫점을 버린 2값만 나온다.
- n/D값이 정수가 나오면, 목표값인 Y값과 똑같아 지는 것이므로
그 n/D값을 돌려준다.
- n/D값이 소수점이 나온다는 건 개구리가 한번 더 점프해야 목표값인 Y를 넘는다는 뜻이므로
1을 더해준다.
'codeacademy' 카테고리의 다른 글
| Time complexity - codility (0) | 2017.03.29 |
|---|---|
| 16. Exam Statistics (0) | 2017.03.28 |
| 15. Practice Makes Perfect / median (0) | 2017.03.28 |
| 15. Practice Makes Perfect / remove_duplicates (0) | 2017.03.28 |
| 15. Practice Makes Perfect / censor (0) | 2017.03.28 |
댓글