KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.
이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT ROUND(ABS(MIN(LAT_N) - MAX(LAT_N)) + ABS(MIN(LONG_W) - MAX(LONG_W)), 4)
FROM STATION
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT ROUND(SQRT(POWER((A - B), 2) + POWER((C-D), 2)), 4)
FROM (
SELECT MAX(LAT_N) A
, MIN(LAT_N) B
, MAX(LONG_W) C
, MIN(LONG_W) D
FROM STATION
) AS DISTANCE_POINT
SQL
맨해튼 거리
:
맨해튼 거리는 두 점 사이의 거리로,
각 좌표 축을 따라 이동하는 거리의 합으로 계산,
체스판 위에서 룩이 이동하는 방식과 유사하다.
두 점 ( P_1(x_1, y_1) )과 ( P_2(x_2, y_2) ) 사이의 맨해튼 거리 :
D Manhattan =
∣ x 1 − x 2 ∣ + ∣ y 1 − y 2 ∣
ABS()
절댓값 함수
# 단순 연산
SELECT ROUND(
ABS(
MIN(LAT_N) - MAX(LAT_N)
) +
ABS(
MIN(LONG_W) - MAX(LONG_W)
), 4)
FROM STATION
유클리드 거리
:
유클리드 거리는 두 점 사이의 직선 거리를 나타내며,
피타고라스의 정리를 사용하여 계산한다.
두 점 ( P_1(x_1, y_1) )과 ( P_2(x_2, y_2) ) 사이의 유클리드 거리 :
D Euclidean =
( ( x 1 − x 2 ) ** 2 + ( y 1 − y 2 ) ** 2 ) ** 0.5
SQRT()
제곱근 함수 , POWER()
제곱 함수
# 단순 연산
SELECT ROUND(SQRT(POWER((A - B), 2) + POWER((C-D), 2)), 4)
FROM (
SELECT MAX(LAT_N) A
, MIN(LAT_N) B
, MAX(LONG_W) C
, MIN(LONG_W) D
FROM STATION
) AS DISTANCE_POINT