728x90
문제) 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.
달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다.
또, 정상에 올라간 후에는 미끄러지지 않는다.
달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.
a, b, c = map(int,input().split())
# a = 올라가는 길이, b = 떨어지는 길이, c = 나무 높이
print(((c - b - 1) // (a - b)) + 1) # 정확히 꼭대기에 도달하는 경우를 배제하기 위해 -1
이번 문제는 식을 이해하는데 시간이 많이 걸렸다.
처음에 일단 a, b, c를 선언하고, 출력을 하였는데 내 생각은 처음에 if문을 사용하려했다.
근데 생각보다 너무 어러워 여기저기를 방황하다가 2줄만에 완성하는 사람을 보고, 놀랐다....
일단 처음에 나무의 높이에서 올라가는 길이를 구하기 위해 c - b를 한다.
그리고 나무 꼭대기에 딱 맞게 도달하는 경우를 제외하기 위해 -1을 넣었다.
그 후 // a - b 를 하고, 1을 더해 정답이 도출이 되었다.
이해가 안되시거나 틀린 정보는 댓글로 알려주시면 감사하겠습니다!
728x90
'알고리즘 > 백준 - 파이썬' 카테고리의 다른 글
백준) 11718번 그대로 출력하기 문제 (파이썬) (0) | 2022.06.10 |
---|---|
백준) 7287번 등록 문제 (파이썬) (0) | 2022.06.10 |
백준) 2476번 주사위 게임 문제 (파이썬) (0) | 2022.06.09 |
백준) 2754번 학점계산 문제 (파이썬) (0) | 2022.06.08 |
백준) 1789번 수들의 합 (파이썬) (0) | 2022.06.08 |
댓글