더북(TheBook)

연습문제

 

 

1.4.1 정확히 천 개의 정수를 가진 1차원 배열 a[]를 생성하고 a[1000]에 접근하는 프로그램을 작성하라. 프로그램을 실행하면 어떻게 되나?

 

1.4.2 길이가 n이고 1차원 배열로 표현된 두 개의 벡터가 있을 때, 이 둘 간의 유클리드 거리를 구하는 코드 부분을 작성하라(유클리드 거리는 해당 요소 간의 차를 제곱한 값을 모두 더한 후 제곱근을 구한 것이다).

 

1.4.3 실수의 1차원 배열에 들어 있는 요소들을 역순으로 바꾸는 코드 조각을 작성하라. 결과를 저장하기 위한 별도의 배열은 생성하지 마라.

 

힌트: 이 책의 앞에 나왔던 두 값을 교환하는 코드를 활용하라.

 

1.4.4 다음 코드 조각에는 어떤 문제가 있는가?

a = []
for i in range(10):
    a[i] = i * i

정답: 최초의 a[]는 빈 배열이며, 이후 아무런 요소도 배열에 추가되지 않았다. 따라서 a[0], a[1] 등은 존재하지 않는다. 실행 시 할당문에서 이런 요소에 접근하려 시도하면 IndexError 예외가 발생한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.