Identify Popular Creators - codepath/compsci_guides GitHub Wiki
Unit 4 Session 1 Standard (Click for link to problem statements)
U-nderstand
Understand what the interviewer is asking for by using test cases and questions about the problem.
-
Q: What is the structure of the input?
- A: The input is a list of dictionaries, where each dictionary represents an NFT and contains keys such as "name", "creator", and "value".
-
Q: What is the output?
- A: The output is a list of creator names (strings) who have created more than one NFT in the collection.
-
Q: What should the function return if no creators are considered "popular"?
- A: The function should return an empty list.
-
Q: Are there any constraints on the input, such as the presence of the "creator" key in each dictionary?
- A: It is assumed that each dictionary in the list will have a "creator" key with a corresponding value.
P-lan
Plan the solution with appropriate visualizations and pseudocode.
General Idea: We need to count the number of NFTs each creator has made and then identify the creators who have created more than one NFT.
1) Initialize an empty dictionary called `creator_count` to store the count of NFTs per creator.
2) Iterate through each NFT in the collection:
a) Extract the value associated with the "creator" key.
b) Increment the count for this creator in the `creator_count` dictionary.
3) After iterating through the collection, create a list `popular_creators` of all creators who have more than one NFT.
4) Return the `popular_creators` list as the output.
**⚠️ Common Mistakes**
- Forgetting to initialize the creator's count in the dictionary.
- Not correctly identifying creators with more than one NFT.
I-mplement
def identify_popular_creators(nft_collection):
creator_count = {}
for nft in nft_collection:
creator = nft["creator"]
if creator in creator_count:
creator_count[creator] += 1
else:
creator_count[creator] = 1
popular_creators = [creator for creator, count in creator_count.items() if count > 1]
return popular_creators