Game Play Analysis I — LeetCode 511 Python Solution
EasyDatabase
- Problem
- #511
- Reading time
- 2 min
- Source
- leetcode.com
The problem
For every player, find the date they first logged in. The Activity table has player_id (int), device_id (int), event_date (date) and games_played (int), with (player_id, event_date) as its primary key, and each row records one day on which a player logged in and played some number of games. Return player_id and first_login.
Example
- Input
- Activity(player_id, device_id, event_date, games_played) = (1, 2, '2023-01-03', 5), (1, 2, '2023-01-06', 2), (2, 3, '2023-02-11', 1), (3, 1, '2023-01-05', 0), (3, 4, '2023-03-02', 4)
- Output
- (1, '2023-01-03'), (2, '2023-02-11'), (3, '2023-01-05')
- Explanation
- The minimum event_date per player is that player's first login date.
Python solution
Python
import pandas as pd
def game_analysis(activity: pd.DataFrame) -> pd.DataFrame:
return (
activity.groupby("player_id")
.agg(first_login=("event_date", "min"))
.reset_index()
)Complexity
| Measure | Complexity |
|---|---|
| Time | O(n log n) (typical) |
| Space | O(n) auxiliary |
Related problems
Frequently asked questions
- How hard is LeetCode 511. Game Play Analysis I?
- LeetCode 511. Game Play Analysis I is rated Easy on LeetCode.
- What topics does LeetCode 511. Game Play Analysis I cover?
- LeetCode 511. Game Play Analysis I is tagged Database on LeetCode.