• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

독이 돌을 건넜는지 판단하는 부분

20.05.17 13:17 작성 조회수 95

4

while 문에서 돌의 내구도에 -1 이아니라 +1 해줘야 맞지않을까요? 
독은 돌의 첫칸이 아닌 첫칸의 앞에서 시작하니까요.
그리고 독의 위치가 목적지에 도달했다면 내구도 깎는 로직을 탈 때
list 에서 out of range 뜨니까 break 쳐야 오류안나더라구요.

while
독의위치 < len(돌의내구도) + 1:
독의위치 += int(i['점프력'])
if ( 독의위치 >= len(돌의내구도)+1):
break

답변 1

답변을 작성해보세요.

0

Yoounhk님의 프로필

Yoounhk

2020.10.13

마지막 돌에 도착했다면, 새로 루프를 돌지 않아도 됩니다. 최소 점프력은 1이고 땅의 내구도는 무한이라고 생각할 수 있기 떄문에 마지막 돌까지만 점프하면 그 이후는 계산하지 않아도 무조건 성공입니다. 만약 댓글 달아주신 것처럼 범위를 늘려 루프를 한번 더 돌게되면 인덱스가 초과되므로 추가적인 if문을 더 써야해서 비효율적입니다. 강의에서 짚어주시진 않아서 착각할 수 있는 부분 같아요.