d / 10 이 소수점이 나올까요??
d가 int형이라 그냥 저거 자체가 나머지를 없애버릴것같아요.
9205번 - 맥주 마시면서 걸어가기
d / BEER_PER_DIST 를 먼저 int형으로 계산하고 소수점이 버려진 상태로 ceil에 들어가게 되어 올림 연산이 제대로 시행되지 않습니다.
그리고 실수 오차는 항상 존재하기 때문에, 이렇게 정수만을 이용해서 계산 할 수 있으면 무조건적으로 정수로만 푸시는게 좋습니다.
일단 이 문제에서는 편의점을 들릴 때 마다 20병을 전부 충전 할 수 있다고 가정하고 푸셔도 좋습니다.
최단거리로 간다는 말도 없으니 일부러 돌아가면서 맥주를 남기지 않고 간다고 생각하시면 될거같아요.
그렇다면 굳이 어떤 두 지점이 맥주 몇 병에 해당되는지 계산할 필요가 없어집니다.
중요한건 맥주 20병으로 갈 수 있는 거리 이하인가, 초과인다 겠지요.
댓글을 작성하려면 로그인해야 합니다.
danobti 5년 전
문제에는 빈 맥주병을 버리고 새 맥주병으로 채운다고 하셔서, 맥주가 남은 맥주병은 버릴 수 없는줄 알았어요.. 저처럼 생각하신 분은 없나요?
그래서 혹시나 하고 맥주병을 단위로 거리를 쟀는데, 이것 역시 틀렸다고 뜨네요 ㅠㅠ 왜그런거죠?
ceiling 하면 그 거리를 이동해야하는 최소의 정수개의 맥주가 나오니까 이게 20개 이하면 이동할 수 있는 지점이고 아니면 이동할 수 없다고 생각했습니다.
혹시 어느부분이 잘 못된건지 같이 봐주실 수 있나요?