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]));