WHAT IS KATA?

KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.

이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.


- SQL


✔️ 문제 #1: Weather Observation Station 10

✔️ 제출 쿼리

✔️ 쿼리 분석

SELECT DISTINCT CITY
FROM STATION
WHERE CITY REGEXP '[^aeiou]$'


- PYTHON


✔️ 문제 #1: N개의 최소공배수

✔️ 제출 코드

✔️ 코드 분석

# 최대공약수 구하는 함수
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]


✔️ CHECK POINT

  • SQL

    • 정규표현식 2 (~하지 않는 문자 찾기)
      # 괄호 안에 ^ 와 함께 문자를 작성하면 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]
      

profile
커피 좋아하는 데이터 꿈나무

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN