KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.
이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.
리트코드 - 판다스 30일 문제
✔️ 제출 코드
✔️ 코드 분석
import pandas as pd
def calculate_special_bonus(employees: pd.DataFrame) -> pd.DataFrame:
def calculate_bonus(row):
if row['employee_id'] % 2 == 1 and not row['name'].startswith('M') :
return row['salary']
else:
return 0
employees['bonus'] = employees.apply(calculate_bonus, axis = 1)
result = employees[['employee_id', 'bonus']].sort_values(by = 'employee_id')
return result
로우 단위 계산 ( apply
메서드 사용 )
employees['bonus'] = employees.apply(calculate_bonus, axis = 1)
조건문을 통한 계산
홀수 직원 ID :
row['employee_id'] % 2 == 1
를 통해 직원 ID가 홀수인지 확인
이름이 'M'으로 시작하지 않는 경우:
ot row['name'].startswith('M')
조건을 통해 이름이 'M'으로 시작하지 않는지 확인
보너스 결정:
위 조건을 모두 만족할 때만 보너스를 지급하며, 그 외의 경우에는 보너스를 0으로 설정
if row['employee_id'] % 2 == 1 and not row['name'].startswith('M') :
return row['salary']
else:
return 0