KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.
이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT DISTINCT CITY
FROM STATION
WHERE CITY REGEXP '[^aeiou]$'
✔️ 제출 코드
✔️ 코드 분석
# 최대공약수 구하는 함수
def gcd(a, b):
while b:
a, b = b, a % b
return a
# 최소공배수 구하는 함수
def lcm(a, b):
return abs(a * b) // gcd(a, b)
# n개의 수의 최소공배수 구하기
def solution(arr):
# 배열 내 숫자가 2개가 될 때까지 반복
while len(arr) >= 2:
# 배열 내 첫 번째, 두 번째 숫자 비교
a = arr[0]
b = arr[1]
# 최소공배수 배열에 담기
arr.append(lcm(a, b))
# 앞서 비교한 2개 숫자 이후로 배열 초기화
arr = arr[2:]
return arr[0]
SQL
# 괄호 안에 ^ 와 함께 문자를 작성하면 NOT 의 의미
[^ABC] : "ABC"를 포함하지 않는 문자열 찾기
"[^ABC]" : "A","B","C"를 포함하지 않는 문자열 찾기
SELECT DISTINCT CITY
FROM STATION
WHERE CITY REGEXP '[^aeiou]$'
PYTHON
최대공약수, 최소공배수 구하기
배열을 초기화하면서 배열 내 모든 수의 최소공배수 중 가장 작은 숫자 반환
# n개의 수의 최소공배수 구하기
def solution(arr):
# 배열 내 숫자가 2개가 될 때까지 반복
while len(arr) >= 2:
# 배열 내 첫 번째, 두 번째 숫자 비교
a = arr[0]
b = arr[1]
# 최소공배수 배열에 담기
arr.append(lcm(a, b))
# 앞서 비교한 2개 숫자 이후로 배열 초기화
arr = arr[2:]
return arr[0]