KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.
이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT CEIL(AVG(SALARY) - AVG(REPLACE(SALARY, 0, '')))
FROM EMPLOYEES
✔️ 제출 코드
✔️ 코드 분석
from itertools import permutations # itertools 모듈에서 permutations 함수를 임포트
def solution(k, dungeons):
max_dungeons = 0 # 최대 탐험 가능한 던전 수를 저장할 변수 초기화
# 모든 던전의 순열을 생성하여 탐색
for p in permutations(dungeons):
current_k = k # 현재 피로도를 주어진 k로 초기화
count_dungeons = 0 # 탐험한 던전 수를 저장할 변수 초기화
# 각 순열에 대해 던전을 탐험
for min_k, consume_k in p:
if current_k >= min_k: # 현재 피로도가 최소 필요 피로도 이상인지 확인
current_k -= consume_k # 탐험 후 피로도 감소
count_dungeons += 1 # 탐험한 던전 수 증가
else:
break # 현재 피로도가 부족하면 탐험 중단
# 최대 탐험할 수 있는 던전 수 갱신
max_dungeons = max(max_dungeons, count_dungeons)
# 최대 탐험할 수 있는 던전 수 반환
return max_dungeons
SQL
REPLACE('컬럼', '기존 문자', '바꿀 문자')
# 모든 0을 공백으로 변환
SELECT CEIL(AVG(SALARY) - AVG(REPLACE(SALARY, 0, '')))
FROM EMPLOYEES
PYTHON
순열
:
주어진 여러 개의 항목들을 순서 있게 배열하는 모든 가능한 경우
예를 들어, 세 개의 항목 [A, B, C]가 있다면,
이 항목들의 순열은 [A, B, C], [A, C, B], [B, A, C], [B, C, A], [C, A, B], [C, B, A] 총 6가지가 된다.
PERMUTATIONS
함수는 배열을 순열로 반환해준다.
# itertools 모듈에서 permutations 함수 임포트
from itertools import permutations
def solution(k, dungeons):
max_dungeons = 0 # 최대 탐험 가능한 던전 수를 저장할 변수 초기화
# 모든 던전의 순열을 생성하여 탐색
for p in permutations(dungeons):
current_k = k # 현재 피로도를 주어진 k로 초기화
count_dungeons = 0 # 탐험한 던전 수를 저장할 변수 초기화
# 각 순열에 대해 던전을 탐험
for min_k, consume_k in p:
if current_k >= min_k: # 현재 피로도가 최소 필요 피로도 이상인지 확인
current_k -= consume_k # 탐험 후 피로도 감소
count_dungeons += 1 # 탐험한 던전 수 증가
else:
break # 현재 피로도가 부족하면 탐험 중단
# 최대 탐험할 수 있는 던전 수 갱신
max_dungeons = max(max_dungeons, count_dungeons)
# 최대 탐험할 수 있는 던전 수 반환
return max_dungeons