KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.
이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.
✔️ 제출 쿼리
✔️ 쿼리 분석
WITH movingsum AS (
SELECT DISTINCT visited_on,
CASE WHEN
7 = COUNT(*) OVER(ORDER BY visited_on ROWS BETWEEN 6 PRECEDING AND CURRENT ROW)
THEN SUM(amount) OVER
(ORDER BY visited_on ROWS BETWEEN 6 PRECEDING AND CURRENT ROW)
ELSE NULL END amount
FROM Customer
GROUP BY visited_on
)
SELECT visited_on,
amount,
ROUND(amount / 7, 2) average_amount
FROM movingsum
WHERE amount IS NOT NULL
이동평균 구하는 방법을 배운대로 적용해봤는데..
아무리 해도 통과가 되지 않았다ㅠㅠ
다음주에 여쭤봐야지..
✔️ 제출 코드
✔️ 코드 분석
def solution(keymap, targets):
answer = []
dict = {}
for key in keymap:
for i, k in enumerate(key):
dict[k] = min(i+1, dict[k]) if k in dict else i+1
for i, target in enumerate(targets):
c = 0
for t in target:
if t not in dict:
answer.append(-1)
break
else:
c += dict[t]
else:
answer.append(c)
return answer