├── Automated_Script_for_Evaluating_Students_Leetcode_Profiles.ipynb └── README.md /Automated_Script_for_Evaluating_Students_Leetcode_Profiles.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 14, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stdout", 10 | "output_type": "stream", 11 | "text": [ 12 | "LeetCode Stats (by Problems Solved):\n", 13 | "kaidrix: 322 problems solved\n", 14 | "sriswasthika: 38 problems solved\n", 15 | "sandhyakumar1009: 170 problems solved\n", 16 | "shahin04: 407 problems solved\n", 17 | "muthu_visalakshi: 141 problems solved\n", 18 | "hari10haran: 127 problems solved\n", 19 | "deepakmadhukumar: 198 problems solved\n", 20 | "\n", 21 | "\n", 22 | "LeetCode Stats (Top Performers by Problems Solved):\n", 23 | "shahin04: 407 problems solved\n", 24 | "kaidrix: 322 problems solved\n", 25 | "deepakmadhukumar: 198 problems solved\n" 26 | ] 27 | }, 28 | { 29 | "data": { 30 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAACmoUlEQVR4nOzdeZyN9f//8eeZlVllm7GMNWHsWUf2bayRkbXsREO2wsiaREpEEcqS5WOLFoVsSbbshGSprGPJMgxmff/+8Jvr64Sa0RzH8LjfbueW877e5zqvM+/OmfOc631db5sxxggAAAAAAKQ6F2cXAAAAAADA44rQDQAAAACAgxC6AQAAAABwEEI3AAAAAAAOQugGAAAAAMBBCN0AAAAAADgIoRsAAAAAAAchdAMAAAAA4CCEbgAAAAAAHITQDQDA3+TJk0ft27d3dhkpNmvWLNlsNu3YseNf+1arVk3VqlVzfFFO9KCv8YcffpDNZtMPP/yQ6jUBAJ48hG4AwF1SEt5S0zvvvKMvv/zyvtuPHTumV155Rfny5VO6dOnk5+en5557Th9++KFu3rz58ApNoWrVqslms1m3jBkzqmzZspoxY4YSExOdXd4jY//+/WrWrJly586tdOnSKUeOHKpdu7YmTZrk7NIequT+HP7t/fJvDh48qOHDh+uPP/74bwUDAP4RoRsA8Mj4pxDx7bffqlixYlq0aJEaNWqkSZMmafTo0cqVK5feeOMN9erV6+EWm0I5c+bUnDlzNGfOHA0ZMkTx8fHq1KmTBg0a5OzSHgmbN29WmTJltHfvXnXp0kUfffSROnfuLBcXF3344YcPtZYqVaro5s2bqlKlykN9XillP4fUCN0jRowgdAOAg7k5uwAAAP7N77//rpYtWyp37txat26dsmXLZm0LDw/X0aNH9e233zqxwn/n7++vl156ybr/yiuvqGDBgvroo480cuRIubu73/WYxMRExcbGKl26dA+zVKcYNWqU/P39tX37dmXIkMFu2/nz5x9qLS4uLk77mT9KPwcAQOrgSDcA4IGdPn1aHTt2VEBAgDw9PVWkSBHNmDHjrn4xMTEaNmyYnn76aXl6eiooKEj9+/dXTEyM1cdmsyk6OlqzZ8+2pmEnnVc9duxYXb9+XZ999pld4E7y9NNP2x3pjo+P18iRI5U/f355enoqT548GjRokN3zSZIxRm+//bZy5swpLy8vVa9eXQcOHLjna71y5Yp69+6toKAgeXp66umnn9a77777wNPDvby8VKFCBUVHR+vChQvWz6BHjx6aN2+eihQpIk9PT61cuVKStHv3btWrV09+fn7y8fFRzZo1tXXr1nvu+8aNG3rllVeUKVMm+fn5qW3btrp8+fK/1pSccbqzzsWLFys4OFjp06dXSEiI9u/fL0maOnWqnn76aaVLl07VqlVL1pHUY8eOqUiRIncFTUnKmjWr3f3kju+dzp07Jzc3N40YMeKubYcPH5bNZtNHH30k6d7ndFerVk1FixbVwYMHVb16dXl5eSlHjhwaO3bsXfv7888/9fzzz8vb21tZs2ZVnz59tGrVqmSdJ57cn8M/vV/+/PNPvfrqqypYsKDSp0+vTJky6cUXX7Qbh1mzZunFF1+UJFWvXt3aR1J9O3bsUGhoqDJnzqz06dMrb9686tix4z/WDgC4N450AwAeyLlz51ShQgUrgGXJkkUrVqxQp06dFBUVpd69e0u6fbT2+eef108//aSuXbuqcOHC2r9/v8aPH6/ffvvNmh47Z84cde7cWeXKlVPXrl0lSfnz55ckffPNN8qXL58qVqyYrNo6d+6s2bNnq1mzZurXr5+2bdum0aNH69ChQ1q2bJnVb+jQoXr77bdVv3591a9fX7t27VKdOnUUGxtrt78bN26oatWqOn36tF555RXlypVLmzdvVkREhM6ePasJEyY80M/w+PHjcnV1tQtY69at06JFi9SjRw9lzpxZefLk0YEDB1S5cmX5+fmpf//+cnd319SpU1WtWjVt2LBB5cuXt9tvjx49lCFDBg0fPlyHDx/WlClT9Oeff1ph8l6SO05JNm7cqK+//lrh4eGSpNGjR6thw4bq37+/Jk+erFdffVWXL1/W2LFj1bFjR61bt+4ffxa5c+fWli1b9Msvv6ho0aL/2De543ungIAAVa1aVYsWLdKwYcPsti1cuFCurq5WCL2fy5cvq27dumratKmaN2+uJUuWaMCAASpWrJjq1asnSYqOjlaNGjV09uxZ9erVS4GBgZo/f77Wr1//j/tO6c/hn94v27dv1+bNm9WyZUvlzJlTf/zxh6ZMmaJq1arp4MGD8vLyUpUqVfTaa69p4sSJGjRokAoXLixJKly4sM6fP686deooS5YsGjhwoDJkyKA//vhDS5cu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+zgdPXrUBAQEmKVLl5q9e/earl27msKFC5sCBQoYNzc3a8mwvXv38n5Ogw4cOGCGDBlineqTNIY3b940zzzzjHnhhResz/ECBQqYM2fOOLNcpIJ169aZVq1ameLFi1u/r69fv26GDBliKlasaDp37mydQsBpQWkTofsJlZiYaL1pk/77559/mhIlSphp06aZdevWmVdffdU8++yzZvDgwdbjVq9ebebMmWNmzpxpjh8/7pTa8WDu/NK2c+dO061bN+Pt7W2t3RoTE2NmzZplKlSoYBo3bnzP4I1H252/iPv162e8vb1Njhw5jKenp9372Jjb55L179/fZMiQwSxcuPBhl4pUcPToUZMjRw6783bj4+PNjh07TKFChUxISIjVfurUKfPLL7+Y3bt3W58FnK+f9owdO9Zs3LjRXLx40XTq1MnkzJnTpE+f3vTo0cMsXbrUGGNMmTJlzLBhw+weR/BOGxITE82VK1dMpUqVjJ+fn2ncuLG1Len9+s0335hs2bKZoKAgkytXLrNr1y4nVYsHcecSrdevX7fW5Tbm9rJhL774ol3wjo6ONv369TO1atUykZGRTqkZqYPQ/YS6du2a3f2dO3eaXr16ma5du1oXYzl//rx58803TalSpczAgQOdUSZSUdKH/FdffWWqV69u6tevb2w2m/Hx8bG+rCUF70qVKplq1ard9f8J0oaTJ0+asmXLmt27d5uff/7ZDBs2zHh5eZkxY8bY9fvtt9/MRx99xBfyNOrGjRumQIECZujQoXbtiYmJZt26daZgwYLmnXfeuedjOcL96NuyZYv174SEBHP8+HGTL18+c/LkSWPM7Qtq/fjjj9ZRbWNur7seEhJipk+f/tDrRerZunWrqVatmgkKCrJ+P9/pwoULZsuWLYSwNGT58uV297/++mvz3HPPmerVq5vXXnvNat+4caMVvNetW2eMuR28z58//1DrReojdD+BJk6caJ5//nkTHx9v4uLiTHR0tOnQoYPJmjWree655+z6njt3zrz55pumXLlypnfv3k6qGP/FnUc/t23bZtzd3c2UKVPMH3/8YVavXm1atWpl/Pz87IL3J598YmrXrm19uUPa8c4775jGjRubTp06WbMUzp8/b0aPHm38/f3Nu+++e8/HEbzTlsTERBMXF2f69u1rqlatalauXGm3PT4+3rRq1co0adLESRXi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ggU1cuRI5ciRw+5xzGZ4dCX93u3du7cuX76suXPnSpJu3LihAQMGaNu2bapZs6ZGjBghDw8PjR49WiNGjNA777yjvn37Orl6PIikwP3zzz/r0KFDunTpkl588UXlyJFDNptNZ86csZs6PmDAAK1atUrr1q1TxowZnVg5nOrhn0YOR1m3bp158803jTG3L66UN29e061bN7N3716TKVMm07RpU7ulhZA27dq1yzz77LOmY8eOZv/+/aZFixZm7dq1d/UbOnSomTZtmt0yM0gbfvnlF1OqVCkTGhpqjh49aowx5vjx46Zhw4amdu3aZunSpfd8HBdNS3s++eQTu6X9fvjhB2Oz2UzWrFnNggULrItrbdu2zTRo0IALaaUxd151vn///iZHjhymevXqpkqVKiYkJMQsW7bM2j5+/HhTuXJl07hxY/PXX385oVr8F23atDGNGjUyxvzfuF+/ft288cYbpnz58uazzz6z2ocOHWoyZcpkLl++7Kxy8YDuXKL1qaeeMrVr1zY5cuQwVapUMZ9++ql1YUtjbq8q061bN5MxY0brMx5PLkL3YyQ+Pt7s2bPHJCYmmmbNmpk2bdqY2NhYc/PmTVOxYkVjs9lMaGgoX8wfA7t27TJlypQx7dq1Mz4+PiZfvnymVq1aplatWqZatWqmZs2apnPnziY6OtrZpSIZ7vxinmTOnDmmVq1apkGDBubIkSPGGGOOHDliGjZsaGrUqGGmTp36sMtEKrt+/boZPXq0tczfsmXLjJ+fn/n888/Nyy+/bLJmzWoWL15812oDBO+0Z+LEiSZ37tzWKhITJkwwHh4epkCBAnYrFLz11lumW7dujHEakpiYaBITE82AAQNMpUqVrD+YJH3XioqKMo0bNzYVK1a0e9zFixcfeq1IHRs2bDABAQHWZ/fhw4eNm5ubKV26tPn4449NXFycOXfunBk1apSpXbu22b9/v5MrxqOA6eVpUGJioqTb5xCdP39ePj4+MsZYV6S+du2aateure7du6tdu3aSpPDwcDVv3lxBQUHKly+f02pH6tm1a5fat28vFxcXFSlSRKGhobpy5YouXbpkXXinSJEizi4TKXDz5k2lT5/euj9//nx9+umnSp8+vSZOnKj8+fPr+PHjeumll1S6dGlNmjTJidUipcw9zgHcvn27smfPrhs3bqhx48Z65ZVX1KtXL23ZskXPPfecJGn16tWqWbOmM0pGKrh+/bp69uypUqVK6bXXXtM333yjl19+WeHh4Tp48KD27t2rDz74QE2aNJF071VI8OhKGq8///xTxYsXV9u2ba3P5qTTAk6cOKG8efNqzZo1ql69upMrxn+RmJiocePG6fTp05owYYKOHz+u2rVr67nnntPVq1e1Z88eDR06VB06dNCNGzcUHx9vXQQTTzhnJn6kzOLFi83OnTut+0uXLjWlS5c2BQsWND179jTbtm0zxhhz69Ytky9fPtOsWTOzc+dO069fPxMUFGS3ti8eD7t37zZly5Y1nTt3Nr///ruzy8F/MHv2bNO8eXNz/vx5u/Z58+aZkiVLmsaNG1tjfOrUKY6EpTF3jted0w+TLF++3JQpU8Y6nWDjxo3mzTffNKNGjWL97TTmzrFO+vfx48fNsWPHzKFDh0y+fPnMhAkTjDHGfP7558bNzc34+/ub7777znrcvWa/wPmSxjMqKspcu3bNak96jy5btsx4eHiY119/3e5xR48eNcHBwUwxTqOS3o8XLlwwxtwez4MHD5rr16+bSpUqmY4dOxpjjDlz5ox56qmnTMGCBc20adOcVi8eTfwJNY04dOiQRo8erWHDhunw4cM6ceKEOnbsqBYtWqhJkyY6fPiwXn/9da1du1aenp6aMWOG1q9fr7CwMC1evFhfffWVAgICnP0ykMpKliypqVOnau/evRo4cKAOHTrk7JLwgE6cOKE//vhDgwcP1sWLF6321q1bq0qVKlqxYoVat26tkydPKkeOHNY63Egbko5Yvv/++2rUqJHCw8O1bNkya/uZM2d06NAhnT9/Xr///rveffddXbp0SYMGDZKbm5vdCgV4dN15dHrJkiVat26dbty4obx58ypfvnzatGmTsmfPrk6dOkmSMmTIoEaNGmn06NGqU6eOtR+Wjnr0JI3twYMHVbFiRc2dO1c3btyQ9H8rCDz//PP69NNP9dFHH6l169Zat26djh49qpkzZ+ratWvKmjWrM18CHpDNZtPu3bsVHh5uzVooXLiw9u/fr8uXL6tXr16Sbq8yU7ZsWYWEhCg0NNTJVeNRQ+hOIwoXLqzXX39dMTExGjx4sObNm6eePXvqjTfe0JgxYzRgwABlzpxZQ4cO1YYNG1S1alUdOXJES5cu1Y4dO1SqVClnvwQ4SKlSpfTxxx8rMjKSKUxpREJCwl1tgwcPVosWLbR//35FRETo/Pnz1rbg4GBVrVpVNWvWVI4cOax2pp6mLePHj9fYsWNVsGBB7du3TyNHjtT48eMlSV26dFGFChVUuXJlVa9eXadOndKHH35oPZYrVz/6jDHWe3LgwIHq1auXzp49q+joaKuPzWbT0aNHtWPHDsXGxmr69OkqWLCgunXrJldX13t+NuDR4OLiopMnT6pVq1a6cOGC+vfvrwULFujmzZt2fV5++WWtXbtWe/fuVYcOHVSnTh3973//05dffml3RWukLTdu3NDKlSv1/fffW+/z6Oho3bx5U0ePHlVcXJy+/PJLZcuWTZMmTVKuXLmcXDEeNZzTnQbcuVTI4sWLNX36dB0+fFgvvPCCJkyYYPVbt26dJk2apEuXLikiIkJ169Z1UsVwhlu3bildunTOLgP/4s61dr/99lvFx8fL29tbtWrVkiR98MEH+uKLL1SgQAENHz5cWbNmVfv27VWpUiX17NmTcz3TkL+P0/Dhw1WhQgXVrVtXx48f1yeffKKvv/5anTp10htvvCFJWrp0qby8vFS7dm25urqyVFQaYe44X/+9997TBx98oC+//FJly5a1/h9ITEzUiRMn1KNHD23evFmZMmWSp6en9uzZIzc3t3ue849HR1xcnObNm6dly5Zp6tSpev/99zVp0iRNmTJFrVq1sq7HkTSOUVFR+uOPPxQbG6ugoCBmG6YxSeN45coV+fj4yM3NTRMmTNDQoUP1ww8/6Nlnn9XFixf14osv6tSpU3Jzc9P58+e1Zs0aDnTh3pw4tR3JlHQuyYEDB8ylS5fM119/bUqXLm2eeeYZs2/fPru+69evNzVq1DChoaEmOjqa88KAR0TTpk3NmDFjrPuvv/668fPzMwUKFDDu7u5m2LBh1rZJkyaZSpUqmXTp0plixYqZwoULW+cM8p5OG+48r/fbb781a9asMaGhoWb16tVW+++//2769+9vChUqZN5777279sFKE4++Dh06mJs3b1r3b968aRo0aGBGjRpljDHmjz/+MN99950JCwszPXv2NGfPnjUnT540S5YsMVOnTrXGmPP2H10HDhyw/r1//36zfPly637fvn2Nh4eH+eyzz+xWC2E8Hw9r1641JUuWNO+99541vq1atTIdO3a0rpMUGRlpZsyYYSZPnmytNALcC38+f8SZ//+X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", 31 | "text/plain": [ 32 | "
" 33 | ] 34 | }, 35 | "metadata": {}, 36 | "output_type": "display_data" 37 | } 38 | ], 39 | "source": [ 40 | "import requests\n", 41 | "import matplotlib.pyplot as plt\n", 42 | "\n", 43 | "def fetch_leetcode_stats(username):\n", 44 | " url = \"https://leetcode.com/graphql/\"\n", 45 | " query = \"\"\"\n", 46 | " {\n", 47 | " matchedUser(username: \"%s\") {\n", 48 | " submitStats {\n", 49 | " acSubmissionNum {\n", 50 | " difficulty\n", 51 | " count\n", 52 | " submissions\n", 53 | " }\n", 54 | " }\n", 55 | " }\n", 56 | " }\n", 57 | " \"\"\" % username\n", 58 | " \n", 59 | " response = requests.post(url, json={\"query\": query})\n", 60 | " \n", 61 | " if response.status_code == 200:\n", 62 | " data = response.json()\n", 63 | " stats = data[\"data\"][\"matchedUser\"][\"submitStats\"][\"acSubmissionNum\"]\n", 64 | " total_solved = sum(stat['count'] for stat in stats)\n", 65 | " return username, total_solved//2\n", 66 | " else:\n", 67 | " print(f\"Failed to fetch data for {username}. Check the username or network connection.\")\n", 68 | " return username, 0\n", 69 | "\n", 70 | "# List of usernames to track\n", 71 | "db = [\"kaidrix\", \"sriswasthika\", \"sandhyakumar1009\", \"shahin04\", \"muthu_visalakshi\", \"hari10haran\", \"deepakmadhukumar\"]\n", 72 | "\n", 73 | "# Dictionary to store usernames and their solved problem counts\n", 74 | "user_stats = {}\n", 75 | "\n", 76 | "# Fetch stats for each user\n", 77 | "for username in db:\n", 78 | " username, solved = fetch_leetcode_stats(username)\n", 79 | " user_stats[username] = solved\n", 80 | "\n", 81 | "#Before Sorting\n", 82 | "print(\"LeetCode Stats (by Problems Solved):\")\n", 83 | "for username, solved in user_stats.items():\n", 84 | " print(f\"{username}: {solved} problems solved\")\n", 85 | "\n", 86 | "print()\n", 87 | "print()\n", 88 | "\n", 89 | "\n", 90 | "#TOP 3 Performers of the Class\n", 91 | "# Sort the dictionary by the solved problems count in descending order\n", 92 | "sorted_user_stats = dict(sorted(user_stats.items(), key=lambda item: item[1], reverse=True))\n", 93 | "\n", 94 | "# Print the Top Performer stats\n", 95 | "print(\"LeetCode Stats (Top Performers by Problems Solved):\")\n", 96 | "i=0\n", 97 | "for username, solved in sorted_user_stats.items():\n", 98 | " print(f\"{username}: {solved} problems solved\")\n", 99 | " i+=1\n", 100 | " if i==3:\n", 101 | " break\n", 102 | "\n", 103 | "# Plotting the graph\n", 104 | "plt.figure(figsize=(10, 6))\n", 105 | "plt.bar(sorted_user_stats.keys(), sorted_user_stats.values(), color='skyblue')\n", 106 | "plt.xlabel('Usernames')\n", 107 | "plt.ylabel('Problems Solved')\n", 108 | "plt.title('LeetCode Problem Solving Stats')\n", 109 | "plt.xticks(rotation=45, ha='right')\n", 110 | "plt.tight_layout() # To adjust the labels\n", 111 | "\n", 112 | "# Show the graph\n", 113 | "plt.show()\n" 114 | ] 115 | } 116 | ], 117 | "metadata": { 118 | "kernelspec": { 119 | "display_name": "Python 3", 120 | "language": "python", 121 | "name": "python3" 122 | }, 123 | "language_info": { 124 | "codemirror_mode": { 125 | "name": "ipython", 126 | "version": 3 127 | }, 128 | "file_extension": ".py", 129 | "mimetype": "text/x-python", 130 | "name": "python", 131 | "nbconvert_exporter": "python", 132 | "pygments_lexer": "ipython3", 133 | "version": "3.11.8" 134 | } 135 | }, 136 | "nbformat": 4, 137 | "nbformat_minor": 2 138 | } 139 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # Coding Profiles Evaluator 4 | 5 | ## Overview 6 | This repository evaluates coding profiles from platforms like LeetCode. It fetches user data, tracks problem-solving progress, and visualizes the performance of different users. 7 | 8 | ## Features 9 | - Fetches statistics of users from LeetCode. 10 | - Tracks problems solved across different difficulty levels. 11 | - Visualizes top performers in a bar chart. 12 | 13 | ## Installation 14 | 1. Install dependencies: 15 | ```bash 16 | pip install requests matplotlib 17 | ``` 18 | 19 | 2. Run the script to fetch and visualize stats: 20 | ```bash 21 | python script_name.py 22 | ``` 23 | 24 | ## Contributing 25 | Feel free to fork the repository, submit issues, or make pull requests. 26 | 27 | --- 28 | --------------------------------------------------------------------------------