[코딩테스트]/[Pandas]

[LeetCode - Pandas] (Easy) 1729. Find Followers Count

잰잰' 2025. 4. 10. 00:33
Table: Followers

+-------------+------+
| Column Name | Type |
+-------------+------+
| user_id     | int  |
| follower_id | int  |
+-------------+------+

(user_id, follower_id)는 이 테이블의 기본 키(고유 값이 있는 열 조합)입니다. 이 테이블은 소셜 미디어 앱에서 팔로워가 사용자를 팔로우하는 관계를 나타내는 사용자 ID와 팔로워 ID를 포함하고 있습니다.

 

문제

각 사용자에 대해 팔로워 수를 반환하는 솔루션을 작성하세요.

결과 테이블은 user_id를 기준으로 오름차순으로 정렬되어야 합니다.

Example 1:

Input: 
Followers table:
+---------+-------------+
| user_id | follower_id |
+---------+-------------+
| 0       | 1           |
| 1       | 0           |
| 2       | 0           |
| 2       | 1           |
+---------+-------------+
Output: 
+---------+----------------+
| user_id | followers_count|
+---------+----------------+
| 0       | 1              |
| 1       | 1              |
| 2       | 2              |
+---------+----------------+

설명 : 0의 팔로워는 {1}입니다.
1의 팔로워는 {0}입니다.
2의 팔로워는 {0, 1}입니다.

 

✏️ 풀이

import pandas as pd

def count_followers(followers: pd.DataFrame) -> pd.DataFrame:
    result = followers.groupby(['user_id']).size().reset_index(name='followers_count')

    return result

 

📚 개념정리

count() 와 size() 차이점

count() : NaN은 제외하고 계산

size() : NaN도 포함해서 계산