소개
이 챌린지에서는 파이썬의 NumPy 모듈을 사용하는 연습을 합니다. 기본적인 수학 및 배열 연산을 포함하여 NumPy 배열을 조작하는 여러 가지 공통 함수를 직접 구현해 보게 됩니다. 필요한 파일들은 왼쪽 파일 탐색기에 미리 생성되어 있습니다.
이 챌린지에서는 파이썬의 NumPy 모듈을 사용하는 연습을 합니다. 기본적인 수학 및 배열 연산을 포함하여 NumPy 배열을 조작하는 여러 가지 공통 함수를 직접 구현해 보게 됩니다. 필요한 파일들은 왼쪽 파일 탐색기에 미리 생성되어 있습니다.
첫 번째 과제는 두 NumPy 배열의 요소별 곱셈 (Element-wise Multiplication) 을 수행하는 함수를 만드는 것입니다. 이는 첫 번째 배열의 각 요소가 두 번째 배열의 대응하는 요소와 곱해지는 것을 의미합니다.
multiply_arrays.py 파일의 multiply_arrays 함수를 완성하세요.multiply_arrays여야 합니다.a와 b를 입력으로 받아야 합니다.a와 b의 요소별 곱셈 결과인 새로운 NumPy 배열을 반환해야 합니다.함수를 구현한 후, 스크립트를 실행하여 결과를 확인하세요:
python3 multiply_arrays.py
출력 결과:
Input a: [1 2 3]
Input b: [4 5 6]
Element-wise multiplication result: [4 10 18]
Expected: [4 10 18]
다음으로 행렬 곱셈 (Matrix Multiplication) 을 구현합니다. 요소별 곱셈과 달리 행렬 곱셈은 선형 대수의 특정 규칙을 따르며, 두 행렬의 내부 차원이 일치해야 합니다.
matrix_multiply.py 파일의 matrix_multiply 함수를 완성하세요.matrix_multiply여야 합니다.a와 b를 입력으로 받아야 합니다.a와 b의 행렬 곱 결과인 새로운 NumPy 배열을 반환해야 합니다.함수를 구현한 후, 스크립트를 실행하여 결과를 확인하세요:
python3 matrix_multiply.py
출력 결과:
Input matrix a:
[[1 2]
[3 4]]
Input matrix b:
[[5 6]
[7 8]]
Matrix multiplication result:
[[19 22]
[43 50]]
Expected:
[[19 22]
[43 50]]
이번 단계에서는 NumPy 배열을 전치 (Transpose) 하는 함수를 작성합니다. 배열을 전치하면 행과 열이 서로 바뀝니다.
transpose_array.py 파일의 transpose_array 함수를 완성하세요.transpose_array여야 합니다.a를 입력으로 받아야 합니다.함수를 구현한 후, 스크립트를 실행하여 결과를 확인하세요:
python3 transpose_array.py
출력 결과:
Original array:
[[1 2 3]
[4 5 6]]
Transposed array:
[[1 4]
[2 5]
[3 6]]
Expected:
[[1 4]
[2 5]
[3 6]]
이제 NumPy 배열의 형상 (Shape) 을 변경하는 함수를 만들어 보겠습니다. 형상 변경은 데이터를 유지하면서 배열의 차원을 바꾸는 작업입니다. 이때 전체 요소의 개수는 변함이 없어야 합니다.
reshape_array.py 파일의 reshape_array 함수를 완성하세요.reshape_array여야 합니다.a와 튜플 형태의 shape를 입력으로 받아야 합니다.a의 데이터를 유지하면서 shape에 지정된 새로운 차원을 가진 배열을 반환해야 합니다.함수를 구현한 후, 스크립트를 실행하여 결과를 확인하세요:
python3 reshape_array.py
출력 결과:
Original array: [1 2 3 4 5 6]
New shape: (2, 3)
Reshaped array:
[[1 2 3]
[4 5 6]]
Expected:
[[1 2 3]
[4 5 6]]
유클리드 거리 (Euclidean distance) 는 두 점 사이의 직선 거리를 측정하는 일반적인 방법입니다. 여러분의 과제는 두 개의 1 차원 NumPy 배열 사이의 거리를 계산하는 함수를 구현하는 것입니다.
두 벡터 a와 b 사이의 유클리드 거리 공식은 다음과 같습니다:
d(a, b) = \sqrt{\sum\_{i=1}^{n}(a_i - b_i)^2}
euclidean_distance.py 파일의 euclidean_distance 함수를 완성하세요.euclidean_distance여야 합니다.a와 b를 입력으로 받아야 합니다.함수를 구현한 후, 스크립트를 실행하여 결과를 확인하세요:
python3 euclidean_distance.py
출력 결과:
Point a: [1 2 3]
Point b: [4 5 6]
Euclidean distance: 5.196152422706632
Expected: 5.196152422706632
이 챌린지에서는 기본적인 NumPy 연산들을 연습했습니다. 요소별 곱셈, 행렬 곱셈, 배열 전치, 형상 변경, 그리고 유클리드 거리 계산을 위한 함수들을 직접 구현해 보았습니다. 이러한 기술들은 파이썬을 활용한 데이터 분석, 머신러닝, 과학 연산 분야에서 매우 필수적인 기초 역량입니다.