[코딩테스트]/[Pandas]

[LeetCode - Pandas] (Easy) 182. Duplicate Emails

잰잰' 2025. 5. 8. 14:55
Table: Person

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| id          | int     |
| email       | varchar |
+-------------+---------+

이 테이블에서 id는 기본 키(고유 값이 있는 열)입니다.
이 테이블의 각 행은 이메일을 포함하고 있습니다. 이메일에는 대문자가 포함되지 않습니다.

 

문제

중복된 이메일을 보고하는 해결책을 작성하십시오. 이메일 필드는 NULL이 아님이 보장됩니다.

결과 테이블은 임의의 순서로 반환될 수 있습니다.

결과 형식은 아래 예시와 같습니다.

Example 1:

Input: 
Person table:
+----+---------+
| id | email   |
+----+---------+
| 1  | a@b.com |
| 2  | c@d.com |
| 3  | a@b.com |
+----+---------+
Output: 
+---------+
| Email   |
+---------+
| a@b.com |
+---------+

설명 : a@b.com은 두 번 반복됩니다.

 

✏️ 풀이

import pandas as pd

def duplicate_emails(person: pd.DataFrame) -> pd.DataFrame:
    person.rename(columns={'email':'Email'}, inplace=True)

    return person[person.duplicated('Email')][['Email']]

1. column명 변경 email -> Email

2. duplicated()를 통해 Email 컬럼에 중복되는 값 조회