aboutsummaryrefslogtreecommitdiff
path: root/find_student_replace_chalk.py
diff options
context:
space:
mode:
Diffstat (limited to 'find_student_replace_chalk.py')
-rw-r--r--find_student_replace_chalk.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/find_student_replace_chalk.py b/find_student_replace_chalk.py
new file mode 100644
index 0000000..2e040f0
--- /dev/null
+++ b/find_student_replace_chalk.py
@@ -0,0 +1,36 @@
+# 1894. Find the Student that Will Replace the Chalk
+
+"""
+there are 'n' students in a class numbered from 0 to 'n - 1'. the teacher
+will give each student a problem starting with the student number 0, then the
+student number 1, and so on until the teach reaches the student number 'n -
+1'. after that the teach will restart the processes, starting with the
+student number 0 again. you are given a 0-indexed integer array 'chalk' and
+an integer 'k'. there are initially 'k' pieces of chalk. when the student
+number 'i' is given a problem to solve, they will use 'chalk[i]' pieces of
+chalk to solve that problem. however, if the current number of chalk pieces
+is strictly less than 'chalk[i]', then the student number 'i' will be asked
+to replace the chalk. return the index of the student that will replace the
+chalk pieces.
+"""
+
+
+class Solution(object):
+ def chalkReplacer(self, chalk, k):
+ """
+ :type chalk: List[int]
+ :type k: int
+ :rtype: int
+ """
+ k %= sum(chalk)
+ for i, j in enumerate(chalk):
+ if k < j:
+ return i
+ k -= j
+ return 0
+
+
+if __name__ == "__main__":
+ obj = Solution()
+ print(obj.chalkReplacer(chalk=[5, 1, 5], k=22))
+ print(obj.chalkReplacer(chalk=[3, 4, 1, 2], k=25))