1991번 - 트리 순회
트리를 인풋 받고 정렬 후에
def pre(str,i): if (str[i*2] != None) & (str[i*2] != '.'): return pre(str,i*2) elif (str[i*2+1] != None) & (str[i*2+1] != '.'): return pre(str, i*2+1) else: print(str[i])
이런식으로 짰는데 자꾸
IndexError: list index out of range
라고 뜨는데 어떻게 해야 할까요 ㅇ
말그대로 범위를 벗어난 index를 보고 있다는 뜻입니다. i*2나 i*2+1이 len(str) 이상이 될 수 있는지 확인해 보세요.
코드를 올릴 때는 전체 코드를 올려야 다른 사람들도 컴파일 해보고 직접 돌려보며 문제를 찾습니다. 그리고 예상하지 못한 부분이 원인일 수도 있습니다.
자세히 보니깐 인풋 받을 때 index를 벗어나긴 했네요ㅠㅠ
댓글을 작성하려면 로그인해야 합니다.
baeusa1 6년 전
트리를 인풋 받고 정렬 후에
def pre(str,i):
if (str[i*2] != None) & (str[i*2] != '.'):
return pre(str,i*2)
elif (str[i*2+1] != None) & (str[i*2+1] != '.'):
return pre(str, i*2+1)
else:
print(str[i])
이런식으로 짰는데 자꾸
IndexError: list index out of range
라고 뜨는데 어떻게 해야 할까요 ㅇ