KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.
이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.
✔️ 제출 쿼리
✔️ 쿼리 분석
# 이름의 오른쪽 끝 3글자의 사전 순서대로 정렬,
# 이름이 같을 경우 ID 숫자 오름차순 정렬
SELECT Name
FROM STUDENTS
WHERE Marks > 75
ORDER BY RIGHT(Name, 3), ID
✔️ 제출 코드
✔️ 코드 분석
def solution(elements):
l = len(elements) # 원형 수열의 길이
sum_set = set() # 부분 수열 합을 저장할 집합
for i in range(l): # 수열의 각 요소를 시작점으로 선택
v = elements[i]
sum_set.add(v) # 현재 요소의 값을 집합에 추가
for j in range(i + 1, i + l): # 현재 시작점부터 연속 부분 수열을 구함
v += elements[j % l] # 부분 수열의 합을 업데이트
sum_set.add(v) # 업데이트된 합을 집합에 추가
return len(sum_set) # 집합의 크기를 반환하여 가능한 합의 개수를 반환
RIGHT(컬럼, 갯수)
: (컬럼) 문자열의 오른쪽 (갯수) 만큼 조회 # 이름의 오른쪽 끝 3글자의 사전 순서대로 정렬,
# 이름이 같을 경우 ID 숫자 오름차순 정렬
SELECT Name
FROM STUDENTS
WHERE Marks > 75
ORDER BY RIGHT(Name, 3), ID
.add()
: 요소 추가# 요소 추가
for i in range(l): # 수열의 각 요소를 시작점으로 선택
v = elements[i]
sum_set.add(v) # 현재 요소의 값을 집합에 추가