NumPy 기초·연습 문제

체비셰프 거리 행렬 (L∞)

문제 설명PROBLEM

preview

체비셰프 거리 행렬 (L∞)

8번 유클리드 행렬·19번 맨해튼 행렬 과 나란히 가는 세번째 norm. 각 축별 차이 중 최댓값:

Dij=maxkxikyjkD_{ij} = \max_k |x_{ik} - y_{jk}|

"어느 축이든 한 발짝 안에 도달할 수 있는 거리" 라 체스판 거리라고도 부릅니다 (킹이 한 칸 움직이면 닿을 수 있는 모든 칸은 체비셰프 거리 1).

  • L1 = 축별 차이의
  • L2 = 축별 차이의 제곱합 루트
  • L∞ = 축별 차이의 최댓값

과제

함수 pairwise_chebyshev(X, Y) 를 완성하세요.

  • X shape (N, D), Y shape (M, D) → 반환 (N, M).
  • 루프 없이 브로드캐스팅 + np.abs + np.max(axis=-1).

테스트 케이스

#이름검증
11점 vs 1점[[1,1]], [[4,5]]max(3, 4) = 4
2shapeX (3,4), Y (5,4)(3,5)
3X=Y 대각선 0diag ≈ 0
4X=Y 대칭D == D.T
5L∞ ≤ L2같은 데이터의 체비셰프는 유클리드 이하
6루프 없이for/while 없음
개념 노트와 실수 포인트

NumPy 기초

  • ⚠️ axis 헷갈림: axis=0 은 행을 가로질러 → 열별 결과, axis=1행별 결과.
  • 브로드캐스팅: shape 를 뒤에서부터 맞춤(1 또는 같은 크기).
  • 반복문 대신 벡터화 연산. @(행렬곱) 와 *(요소곱) 구분.