mick98   2년 전

런타임 에러 (IndexError)가 나서 다른 분들 코드 보니까 

s = list(int(input()) for _ in range(n))
dp = [0 for _ in range(n)]

이부분이 다릅니다. 어느분은 

s = [0 for i in range(301)]
dp = [0 for i in range(301)]
for i in range(n):
s[i] = int(input())

이렇게 하기도 하는데 

제가 궁금한거 결과론적으로 s 리스트와 dp 리스트는 동일한데 왜 제코드는 인덱스 에러가 뜰까요??

또한 정답코드에서 

s = [0 for i in range(301)]
dp = [0 for i in range(301)] 이부분을

s = [0 for i in range(n+1)]
dp = [0 for i in range(n+1)]

이렇게 바꿔도 인덱스 에러가 납니다 제가 놓친 부분이 어딜까요..?

mick98   2년 전

자문자답인데 

n=1일 경우 위코드에서는 에러가 나게 되고

밑 코드는 n값과 상관없이 range(301) 했기때문에 그 값이 존재합니다.

댓글을 작성하려면 로그인해야 합니다.