인프런 커뮤니티 질문&답변

SEONGIL JO님의 프로필 이미지
SEONGIL JO

작성한 질문수

눈떠보니 코딩테스트 전날

문제2 - JAVA독과 함께!

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

작성

·

148

4

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

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

답변 1

0

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

SEONGIL JO님의 프로필 이미지
SEONGIL JO

작성한 질문수

질문하기