KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.
이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.
오잉.. 보너스 문제.. 10초 컷
✔️ 제출 쿼리
✔️ 쿼리 분석
SELECT name
FROM Employee
ORDER BY name
✔️ 제출 코드
✔️ 코드 분석
# H - Index ?
# 논문의 인용 횟수 배열을 이용해 조건에 해당하는 최댓값 찾기
# 1. 주어진 논문의 인용 횟수 배열을 내림차순으로 정렬
# 2. 정렬된 배열에서 각 논문이 인용된 횟수를 확인하며 h 값 계산
# 3. 논문의 인용 횟수가 논문의 순서(1-based index)와 같거나 클 때의 최댓값 찾기
def solution(citations):
# 논문의 인용 횟수를 내림차순으로 정렬
citations.sort(reverse=True)
# 각 논문의 인용 횟수와 순서를 비교하여 H-Index 계산
h = 0
for i in range(len(citations)):
if citations[i] >= i + 1:
h = i + 1
else:
break
return h
# 논문의 인용 횟수 배열을 이용해 조건에 해당하는 최댓값 찾기
# 1. 주어진 논문의 인용 횟수 배열을 내림차순으로 정렬
# 2. 정렬된 배열에서 각 논문이 인용된 횟수를 확인하며 h 값 계산
# 3. 논문의 인용 횟수가 논문의 순서(1-based index)와 같거나 클 때의 최댓값 찾기
def solution(citations):
# 논문의 인용 횟수를 내림차순으로 정렬
citations.sort(reverse=True)
# 각 논문의 인용 횟수와 순서를 비교하여 H-Index 계산
h = 0
for i in range(len(citations)):
if citations[i] >= i + 1:
h = i + 1
else:
break
return h
# 주어진 배열 [3, 0, 6, 1, 5]를 내림차순으로 정렬하면 [6, 5, 3, 1, 0]이 된다.
각 논문의 인용 횟수와 순서를 비교 :
인덱스 0 (순서 1): 6 >= 1 -> h = 1
인덱스 1 (순서 2): 5 >= 2 -> h = 2
인덱스 2 (순서 3): 3 >= 3 -> h = 3
인덱스 3 (순서 4): 1 < 4 -> 조건 불만족, 여기서 멈춤
최종 h 값은 3