두 배열을 주고 각 첫번째 배열의 값을 비교하여 다를 경우 처음 배열을 꺼내서 맨 뒤로 넣고 같을 경우 각각의 배열 첫번째 값을 dequeue하여 남는 배열의 수를 return 하는 문제이다.
var countStudents = function(students, sandwiches) {
let rotations = 0;
//학생의 수가 0보다 크고, 회전 횟수가 학생의 수보다 작을 동안
while (students.length > 0 && rotations < students.length) {
let a = students.shift();
let b = sandwiches[0];
//값이 다를 경우 맨 뒤로 보내고 회전 수를 늘림
if (a !== b) {
students.push(a);
rotations++;
} else {
//같을 경우 샌드위치도 dequeue
sandwiches.shift();
rotations = 0;
}
}
return students.length;
};