3276. Minimum Number of Pushes to Type Word II
My accepted Python solution to LeetCode problem 3276, Minimum Number of Pushes to Type Word II, running in 109ms.
- Difficulty: Medium
- Python
- Runtime 109ms
- Memory 17.8MB
- Updated
Read the problem on LeetCode View on GitHub
The problem statement is LeetCode’s and stays on their site. What follows is my accepted solution.
Python
Accepted on LeetCode — runtime 109ms, memory 17.8MB, accepted 2026-01-02.
class Solution:
def minimumPushes(self, word: str) -> int:
from collections import Counter
# Count frequency of each letter
freq = Counter(word)
# Sort frequencies in descending order
frequencies = sorted(freq.values(), reverse=True)
# Assign most frequent letters to first press position (8 keys available: 2-9)
# First 8 letters: 1 press each
# Next 8 letters: 2 presses each
# And so on...
total_pushes = 0
for i, f in enumerate(frequencies):
# Which press position is this letter in?
press_count = (i // 8) + 1
total_pushes += f * press_count
return total_pushes