diff --git a/java/find-the-student-that-will-replace-the-chalk.java b/java/find-the-student-that-will-replace-the-chalk.java new file mode 100644 index 0000000..16bdaa0 --- /dev/null +++ b/java/find-the-student-that-will-replace-the-chalk.java @@ -0,0 +1,31 @@ +class Solution { + private long getSum(int[] chalk, int k) { + long sum = 0; + + for (int uses : chalk) { + sum += uses; + if (sum > k) { + break; + } + } + + return sum; + } + + public int chalkReplacer(int[] chalk, int k) { + var partialSum = getSum(chalk, k); + + // Remove whole iterations over the students + k %= partialSum; + + for (int i = 0; i < chalk.length; ++i) { + if (k < chalk[i]) { + return i; + } + + k -= chalk[i]; + } + + return 0; + } +}