Leetcode Java Find the Student that Will Replace the Chalk
업데이트:
문제
코드
class Solution {
public int chalkReplacer(int[] chalk, int k) {
long sum = 0;
for (int c : chalk) {
sum += c;
}
k %= sum;
for (int i = 0; i < chalk.length; i++) {
if ((k -= chalk[i]) < 0) {
return i;
}
}
return -1;
}
}
결과
설명
-
각 학생 별 문제 풀이에 필요한 분필의 갯수가 저장된 chalk를 이용하여 k개의 분필을 모두 사용할 때, 마지막으로 사용할 학생 위치를 반환하는 문제이다.
-
sum은 학생들이 한 번씩 문제를 풀 때 필요한 분필의 갯수를 저장할 변수로, chalk의 분필 갯수를 모두 더해서 넣어준다.
-
k에 k를 sum을 나눈 나머지인 반복으로 소모되는 분필을 제거한 갯수를 넣어준다.
-
0부터 chalk의 길이 미만까지 i를 증가시키면서 k에 chalk[i]의 값을 빼줄 때 0보다 작아지는 위치를 찾아 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기