#Q1. 다음 Numpy의 특징에 대해 틀린 것을 고르시오[2.5점]
1. 반복문 없이 데이터 배열에 대한 처리를 지원함
2. C, JAVA, 포트란 등의 언어와 통합 가능
3. 일반 List에 비해 빠르고, 메모리 효율적
4. Windows 환경에선 패키지 추가 설치 필요 없음

#Q2. 다음 문제를 해결하고 틀린 부분은 고치시오[2.5점]
import numpy as np
ts = [[[1,2,3],[4,5,6],[7,8,9]]]
np.array(ts,int).shape를 입력하면
(3,3,3)이 출력된다.

#Q3. 다음 문제의 출력 결과를 작성하시오[2.5점]
import numpy as np
ts = [[[1,2,3],[4,5,6],[7,8,9]]]
tn = np.array(ts,int)
tn[:,:,1]

#Q4. 각 문제의 O/X 여부를 결정하고 X인 부분은 고치시오[2.5점]
1. 다차원 array를 1차원으로 변환하기 위해서 reshape을 사용할 수 있다.
2. Matrix의 경우 앞은 열, 뒤는 행을 의미한다.
#Q5. 다음 코드에서 print(a[::2,::3])의 결과는 무엇인지 작성하시오[2.5점]
import numpy as np
# shape: (3, 4)
a = np.array([[1,2,3,4],
							[5,6,7,8],
							[9,10,11,12]], dtype=np.int32)

#Q6. 아래 코드의 출력으로 알맞은 것은?[2.5점]
import numpy as np
import copy

# a = Q5의 정의와 동일
b = a
b[0][0] = 5
print(a)
print(b)

b = copy.deepcopy(a)
b[0][0] = 50
print(a)
print(b)

# === 선지 ===
	1. [ 1,  2,  3,  4],  [ 5,  6,  7,  8], [ 9, 10, 11, 12]]
	   [ 5,  2,  3,  4],  [ 5,  6,  7,  8], [ 9, 10, 11, 12]]
	   [ 1,  2,  3,  4],  [ 5,  6,  7,  8], [ 9, 10, 11, 12]]
	   [ 50,  2,  3,  4], [ 5,  6,  7,  8], [ 9, 10, 11, 12]]

	2. [ 5,  2,  3,  4],  [ 5,  6,  7,  8], [ 9, 10, 11, 12]]
	   [ 5,  2,  3,  4],  [ 5,  6,  7,  8], [ 9, 10, 11, 12]]
	   [ 50,  2,  3,  4], [ 5,  6,  7,  8], [ 9, 10, 11, 12]]
	   [ 50,  2,  3,  4], [ 5,  6,  7,  8], [ 9, 10, 11, 12]]

	3. [ 5,  2,  3,  4],  [ 5,  6,  7,  8], [ 9, 10, 11, 12]]
	   [ 5,  2,  3,  4],  [ 5,  6,  7,  8], [ 9, 10, 11, 12]]
	   [ 5,  2,  3,  4],  [ 5,  6,  7,  8], [ 9, 10, 11, 12]]
	   [ 50,  2,  3,  4], [ 5,  6,  7,  8], [ 9, 10, 11, 12]]

#Q7. 다음 코드에서 print(a)의 결과는?[2.5점]
import numpy as np
a = np.arange(0, 15, 2).reshape(-1, 4)
#Q8. O, X 문제 (X라면 올바르게 고치시오)[2.5점]
a = np.array([4, 9, 10, 3, 1]) 일 떄
np.where(a > 5, 0, 1)의 값은 
array([9, 10])으로 출력 된다.

#Q9. O, X 문제 (X라면 올바르게 고치시오)[2.5점] 
b = np.array([[5, 49, 11, 1432, 35], [0, 3, 389, 10, 67], [6, 21, 3, 7, 99]]) 일 떄
np.argmax(b, axis = 1)
np.argmin(b, axis = 0)의 출력 값은
array([2, 0, 1, 0, 2])
array([0, 0, 2])이다.

#Q10. O, X 문제 (X라면 올바르게 고치시오)[2.5점]
x = np.array([[0, 14, 2],[5, 2, 1], [53, 21, 21]], float)
y = np.array([0, 2 ,1, 2, 2], int)
z = np.array([1, 2, 0, 2, 0], int) 일 때
x[y,z]의 값은
array([14., 21., 5., 21., 53.])이다.