KATA#58

codataffee·2024년 6월 10일
0

CODEKATA

목록 보기
58/114
post-thumbnail

WHAT IS KATA?

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

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


- SQL


✔️ 문제 #1: Higher Than 75 Marks

✔️ 제출 쿼리

✔️ 쿼리 분석

# 이름의 오른쪽 끝 3글자의 사전 순서대로 정렬,
# 이름이 같을 경우 ID 숫자 오름차순 정렬
SELECT Name
FROM STUDENTS
WHERE Marks > 75
ORDER BY RIGHT(Name, 3), ID


- PYTHON


✔️ 문제 #1: 연속 부분 수열 합의 개수

✔️ 제출 코드

✔️ 코드 분석

def solution(elements):
    l = len(elements)  # 원형 수열의 길이
    sum_set = set()    # 부분 수열 합을 저장할 집합
    
    for i in range(l):  # 수열의 각 요소를 시작점으로 선택
        v = elements[i]
        sum_set.add(v)  # 현재 요소의 값을 집합에 추가
        
        for j in range(i + 1, i + l):  # 현재 시작점부터 연속 부분 수열을 구함
            v += elements[j % l]       # 부분 수열의 합을 업데이트
            sum_set.add(v)             # 업데이트된 합을 집합에 추가
            
    return len(sum_set)  # 집합의 크기를 반환하여 가능한 합의 개수를 반환


✔️ CHECK POINT

  • SQL
    • RIGHT(컬럼, 갯수) : (컬럼) 문자열의 오른쪽 (갯수) 만큼 조회
      # 이름의 오른쪽 끝 3글자의 사전 순서대로 정렬,
       # 이름이 같을 경우 ID 숫자 오름차순 정렬
      SELECT Name
      FROM STUDENTS
      WHERE Marks > 75
      ORDER BY RIGHT(Name, 3), ID
  • PYTHON
    • .add() : 요소 추가
      # 요소 추가
      for i in range(l):  # 수열의 각 요소를 시작점으로 선택
      v = elements[i]
      sum_set.add(v)  # 현재 요소의 값을 집합에 추가

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

0개의 댓글

관련 채용 정보