KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.
이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT DISTINCT CITY
FROM STATION
WHERE CITY LIKE '%a'
OR CITY LIKE '%e'
OR CITY LIKE '%i'
OR CITY LIKE '%o'
OR CITY LIKE '%u'
✔️ 제출 쿼리
✔️ 쿼리 분석
# 정규표현식 사용
# [] (괄호 안 문자 비교)
# ^ (시작 문자)
# $ (끝 문자)
# . (모든 문자)
SELECT DISTINCT CITY
FROM STATION
WHERE LOWER(CITY) REGEXP '^[aeiou].*[aeiou]$';
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT DISTINCT CITY
FROM STATION
WHERE CITY NOT LIKE 'A%'
AND CITY NOT LIKE 'E%'
AND CITY NOT LIKE 'I%'
AND CITY NOT LIKE 'O%'
AND CITY NOT LIKE 'U%'
✔️ 제출 코드
✔️ 코드 분석
def solution(s):
# 제거된 0의 갯수
zero = 0
# 이진변환 횟수
binary = 0
# s가 1이 될 때까지 반복
while s != "1":
# 현재 문자열의 길이
length_s = len(s)
# 0을 모두 제거한 문자열
s = s.replace('0', '')
# 제거된 0의 개수
del_zero = length_s - len(s)
zero += del_zero
# 길이를 이진법으로 변환한 문자열로 변경
s = bin(len(s))[2:]
# 이진 변환 횟수 증가
binary += 1
return [binary, zero]
SQL
*모음으로 시작하고 끝나는 문자열 조회하기
# [] (괄호 안 문자 비교)
# ^ (시작 문자)
# $ (끝 문자)
# . (모든 문자)
SELECT DISTINCT CITY
FROM STATION
WHERE LOWER(CITY) REGEXP '^[aeiou].*[aeiou]$';
PYTHON
.replace('변환 전 문자', '변환 후 문자')
0 을 모두 제거한 문자열
s = s.replace('0', '')
bin(n)
: 정수 n을 이진수로 변환하는 파이썬 내장 함수bin(3)
은 0b11
을 반환하는데, 0b
는 이진수임을 나타내는 접두사로 필요 없을 시 제거 또는 슬라이싱으로 조회해야 한다.길이를 이진법으로 변환한 문자열로 변경
s = bin(len(s))[2:]