KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.
이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.
✔️ 제출 쿼리
✔️ 쿼리 분석
WITH reporter AS (
SELECT reports_to rt,
COUNT(reports_to) reports_count,
ROUND(AVG(age)) ag
FROM Employees
GROUP BY reports_to
HAVING reports_to IS NOT NULL
)
SELECT e.employee_id,
e.name,
r.reports_count,
r.ag average_age
FROM Employees e RIGHT JOIN reporter r
ON e.employee_id = r.rt
ORDER BY 1
✔️ 제출 코드
✔️ 코드 분석
def solution(n, m, section):
# 페인트칠 횟수, 첫 구간은 페인트칠을 해야하므로 1로 시작
result = 1
# 페인트칠 position을 section[0]으로 시작
position = section[0]
# 현재 section을 position에서 롤러의 길이(m)를 빼고
# 비교하여 롤러로 페인트칠 가능한지 확인
for i in section:
# 현재 position이 롤러로 페인트칠할 수 없다면
# position을 현재 구간(i)으로 업데이트
if position + (m - 1) < i:
position = i
# 페인트칠 횟수 증가
result += 1
return result