KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.
이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.
리트코드 - 판다스 30일 문제
✔️ 제출 코드
✔️ 코드 분석
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]})
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을 반환하여
# 데이터를 처리할 때 발생할 수 있는 오류 방지
if len(sorted_salaries) < 2:
second_highest = None