KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.
이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT DISTINCT CITY
FROM STATION
WHERE CITY NOT REGEXP '^[aeiou]'
OR CITY NOT REGEXP '[aeiou]$'
✔️ 제출 코드
✔️ 코드 분석
def solution(n):
# 1234567로 나눈 나머지를 구하기 위해 m 변수 생성
m = 1234567
# n이 1 또는 2인 경우, 미리 정의된 값을 반환
# n이 1인 경우, 가능한 방법은 1가지
if n == 1:
return 1
# n이 2인 경우, 가능한 방법은 2가지
elif n == 2:
return 2
# n이 3 이상인 경우, 반복문을 통해 피보나치 수열 계산
# 결과를 m으로 나눈 나머지를 반환하여 최종 값 반환
a, b = 1, 2
for i in range(3, n + 1):
a, b = b, (a + b) % m
return b
'컬럼' NOT REGEXP '^[문자]'
# NOT 사용한 조건 걸기
SELECT DISTINCT CITY
FROM STATION
WHERE CITY NOT REGEXP '^[aeiou]'
OR CITY NOT REGEXP '[aeiou]$'
# 피보나치 수열 ?
피보나치 수열은 다음과 같은 점화식으로 정의 :
첫 번째 항 : 𝐹(1) = 1
두 번째 항 : 𝐹(2) = 1
세 번째 항부터는 각 항이 그 앞 두 항의 합이 된다 :
𝐹(𝑛) = 𝐹(𝑛−1) + 𝐹(𝑛−2)