본문 바로가기
Data Analysis/Query

리트코드 : 1729. Find Followers Count

by 베짱이28호 2024. 9. 6.

리트코드 : 1729. Find Followers Count


문제

Table: Followers

+-------------+------+
| Column Name | Type |
+-------------+------+
| user_id     | int  |
| follower_id | int  |
+-------------+------+
(user_id, follower_id) is the primary key (combination of columns with unique values) for this table.
This table contains the IDs of a user and a follower in a social media app where the follower follows the user.


Write a solution that will, for each user, return the number of followers.

Return the result table ordered by user_id in ascending order.

The result format is in the following example.



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              |
+---------+----------------+
Explanation: 
The followers of 0 are {1}
The followers of 1 are {0}
The followers of 2 are {0,1}
  • 각 유져별로 팔로워를 구한다

문제 풀이

MySQL

SELECT USER_ID, COUNT(*) AS FOLLOWERS_COUNT
FROM FOLLOWERS
GROUP BY USER_ID
ORDER BY USER_ID
  • 단순 GROUP BY + COUNT 문제

Pandas

import pandas as pd

def count_followers(followers: pd.DataFrame) -> pd.DataFrame:
    grouped = followers.groupby('user_id').agg(
        followers_count = ('follower_id','size')
    ).reset_index()
    return grouped
  • 단순 group by + count문제

코멘트

  • 쉬운문제

댓글