KATA#53

codataffee·2024년 6월 4일
0

CODEKATA

목록 보기
53/114
post-thumbnail

WHAT IS KATA?

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

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


- SQL


✔️ 문제 #1: Weather Observation Station 5

✔️ 제출 쿼리

✔️ 쿼리 분석

WITH LONGEST AS (
    SELECT CITY , LENGTH(CITY)
    FROM STATION
    ORDER BY 2 DESC , 1
    LIMIT 1
    ),
SHORTEST AS (
    SELECT CITY, LENGTH(CITY)
    FROM STATION
    ORDER BY 2, 1
    LIMIT 1)
    
SELECT *
FROM SHORTEST

UNION

SELECT *
FROM LONGEST


- PYTHON


✔️ 문제 #1: JadenCase 문자열 만들기

✔️ 제출 코드

✔️ 코드 분석

def solution(s):
    splits = s.split(" ")
    answer = [alp[0].upper() + alp[1:].lower() if alp else "" for alp in splits]
    return " ".join(answer)


✔️ CHECK POINT

  • SQL

    • 문자열 길이 구하기
      LENGTH() : Byte 수 조회 (CHECK 한글의 정확한 글자 수를 알기 어렵다.)
      CHAR_LENGTH() : Byte 수가 아닌 단순히 문자의 수 조회
    • CTE 생성 후 행 붙이기 : UNION
  • PYTHON

    • 리스트 컴프리헨션으로 조건에 맞는 문자열 만들기
      answer = [alp[0].upper() + alp[1:].lower() if alp else "" for alp in splits]
    • if alp 조건 평가 :
      alp 가 빈 문자열이면 False, 값이 있으면 True 반환
      따라서 alp 가 빈 문자열이 아닌 경우 alp[0].upper() + alp[1:].lower()를 실행
    • alp[0].upper() :
      alp의 첫 번째 문자(alp[0])를 대문자로 변환
      예시) alp가 "hello"라면, alp[0]은 "h"이고, 대문자로 변환하여 "H"가 된다.
    • alp[1:].lower() :
      alp의 첫 번째 문자를 제외한 나머지 문자들(alp[1:])을 소문자로 변환
      예시) alp가 "hello"라면, alp[1:]은 "ello"이고, 소문자로 변환하여 "ello"가 된다.
    • 두 문자열을 합쳐 첫 글자는 대문자, 나머지는 소문자인 "Hello" 가 완성

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

0개의 댓글

관련 채용 정보