KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.
이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.
✔️ 제출 쿼리
✔️ 쿼리 분석
WITH ra AS (
SELECT requester_id id
FROM RequestAccepted
UNION ALL
SELECT accepter_id id
FROM RequestAccepted
)
SELECT id,
COUNT(id) num
FROM ra
GROUP BY id
ORDER BY num DESC
LIMIT 1
✔️ 제출 코드
✔️ 코드 분석
def solution(s, skip, index):
skipminus = sorted(set("abcdefghijklmnopqrstuvwxyz") - set(skip))
skipminusnum = len(skipminus)
result = ""
for char in s:
result += skipminus[(skipminus.index(char)+index) % skipminusnum]
return result
ord()
, chr()
함수를 사용해서 풀어야 할 문제인 줄 알았는데, 알파벳의 전체 문자열에 제거할 문자열을 차집합으로 빼서 인덱스화 해주고 문자열별로 인덱스를 새로 정렬해서 더한 값을 반환하는 방법으로 해결이 가능했다.