JSFiddle - React, Tailwind, and code Playground
by Eugene Vilder
JavaScript
// you can write to stdout for debugging purposes, e.g.
// console.log('this is a debug message');
/* function solution(day, step) {
const weekDays = ['Mon', 'Tue', 'Wed', 'Thr', 'Fri', 'Sat', 'Sun'];
const index = weekDays.indexOf(day);
const shifted = [...weekDays.slice( index + step ),...weekDays.slice( 0, index + step )];
return shifted[0];
} */
/* console.log(solution('Wed', 2));
console.log(solution('Sat', 23)); */
function solution(siquence) {
// write your code in JavaScript (Node.js 8.9.4)
return Math.min(flip([...siquence], 0), flip([...siquence], 1));
}
function flip(siquence, expected) {
let flips = 0;
for (let i=0; i<siquence.length; i++) {
if (expected === siquence[i]) {
siquence[i] = siquence[i] === 1 ? 0 : 1;
flips++;
}
expected = siquence[i];
}
return flips;
}
console.log(solution([1, 0, 1, 0, 1, 1]));
console.log(solution([1, 1, 0, 1, 1]));
console.log(solution([0, 1, 0]));
console.log(solution([0, 1, 1, 0]));