KATA#59

codataffee·2024년 6월 11일
0

CODEKATA

목록 보기
59/114
post-thumbnail

WHAT IS KATA?

KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.

이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.


- SQL


✔️ 문제 #1: Employee Names

오잉.. 보너스 문제.. 10초 컷

✔️ 제출 쿼리

✔️ 쿼리 분석

SELECT name
FROM Employee
ORDER BY name


- PYTHON


✔️ 문제 #1: H-Index

✔️ 제출 코드

✔️ 코드 분석

# 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


✔️ CHECK POINT

  • PYTHON
    • 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
    • 코드 실행 과정 :
      # 주어진 배열 [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

profile
커피 좋아하는 데이터 꿈나무

0개의 댓글

관련 채용 정보