diff options
Diffstat (limited to 'find_student_replace_chalk.py')
-rw-r--r-- | find_student_replace_chalk.py | 36 |
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)) |