KATA#109

codataffee·2024년 8월 14일
0

CODEKATA

목록 보기
109/114
post-thumbnail

WHAT IS KATA?

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

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


리트코드 - 판다스 30일 문제


- PYTHON


✔️ 문제 #1: Second Highest Salary

✔️ 제출 코드

✔️ 코드 분석

import pandas as pd

def second_highest_salary(employee: pd.DataFrame) -> pd.DataFrame:
    sorted_salaries = employee['salary'].drop_duplicates().sort_values(ascending=False)
    
    if len(sorted_salaries) >= 2:
        second_highest = sorted_salaries.iloc[1]
    else:
        second_highest = None
    
    return pd.DataFrame({'SecondHighestSalary': [second_highest]})

✔️ CHECK POINT

  • PANDAS
    • drop_duplicates() 메서드를 사용하여 중복된 값을 제거한 후, sort_values(ascending=False)를 통해 내림차순으로 정렬하기
      # 중복된 급여를 제거하고, 높은 급여부터 낮은 급여 순으로 정렬하여 
      # 두 번째로 높은 급여를 찾기 위한 준비
      sorted_salaries = employee['salary'].drop_duplicates().sort_values(ascending=False)
    • iloc[1] 을 사용하여 정렬된 리스트에서 두 번째 값을 선택하기
      # iloc[1]로 두 번째 값 가져오기
      second_highest = sorted_salaries.iloc[1]
    • 조건문을 사용하여 두 번째 급여가 존재하지 않으면 None을 반환하기
      # 만약 두 번째로 높은 급여가 존재하지 않으면 None을 반환하여
      # 데이터를 처리할 때 발생할 수 있는 오류 방지
      if len(sorted_salaries) < 2:
      	second_highest = None


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

0개의 댓글

관련 채용 정보