KATA는 기술과 기술 향상에 초점을 맞춘 코드 챌린지입니다.
일부는 프로그래밍 기본 사항을 교육하는 반면 다른 일부는 복잡한 문제 해결에 중점을 둡니다.
이 용어는 The Pragmatic Programmer 라는 책의 공동 저자인 Dave Thomas 가
무술에서 일본의 카타 개념을 인정하면서 처음 만들어졌습니다.
Dave의 개념 버전은 코드 카타를 프로그래머가
연습과 반복을 통해 기술을 연마하는 데 도움이 되는 프로그래밍 연습으로 정의합니다.
리트코드 - 판다스 30일 문제
✔️ 제출 코드
✔️ 코드 분석
import pandas as pd
def valid_emails(users: pd.DataFrame) -> pd.DataFrame:
cond = users['mail'].str.match(r'^[a-zA-Z][\w\.-]*@leetcode\.com$')
valid_users = users[cond]
return valid_users[['user_id', 'name', 'mail']]
PANDAS
정규 표현식 매칭 ( str.match 메서드 사용) :
str.match( )
메서드를 사용하여
이메일 주소가 특정 정규 표현식 패턴과 일치하는지 확인하기
cond = users['mail'].str.match(r'^[a-zA-Z][\w\.-]*@leetcode\.com$')
정규표현식 (r')
^ : 문자열의 시작을 의미
[a-zA-Z] : 영문자로 시작하는지 확인, 대문자와 소문자 모두 허용
[\w\.-]* : 영문자, 숫자, 밑줄(_), 점(.), 대시(-)가 0번 이상 나타날 수 있음
@leetcode\.com$ : 이메일 주소가 정확히 @leetcode.com으로 끝나는지 확인
. 은 메타 문자인데, 이를 문자 그대로 인식시키기 위해 \.로 사용
$ 는 문자열의 끝을 의미
행 필터링 (조건 사용) :
필터링된 조건을 사용하여
데이터프레임에서 유효한 이메일을 가진 사용자만 선택하기
valid_users = users[cond]
특정 열 선택 ([['열1', '열2', '열3']] 사용) :
필터링된 데이터프레임에서 특정 열만 선택하여 반환하기 (대괄호 2개)
return valid_users[['user_id', 'name', 'mail']]