KATA#104

codataffee·2024년 8월 9일
0

CODEKATA

목록 보기
104/114
post-thumbnail

WHAT IS KATA?

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

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


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


- PYTHON


✔️ 문제 #1: Calculate Special Bonus

✔️ 제출 코드

✔️ 코드 분석

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

✔️ CHECK POINT

  • PANDAS
    • 로우 단위 계산 ( apply 메서드 사용 )

      • 로우별 계산 :
        apply로 DataFrame의 각 행에 대해 calculate_bonus 함수 적용,
        axis=1 인자를 통해 행 단위로 함수가 적용되도록 설정
      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
      

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

0개의 댓글

관련 채용 정보