We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
functionformingMagicSquare(s){// Flatten the input 2D arrayconstflatInput=s.flat();// Define all possible 3x3 magic squaresconstmagicSquares=[[8,1,6,3,5,7,4,9,2],[6,1,8,7,5,3,2,9,4],[4,9,2,3,5,7,8,1,6],[2,9,4,7,5,3,6,1,8],[8,3,4,1,5,9,6,7,2],[4,3,8,9,5,1,2,7,6],[6,7,2,1,5,9,8,3,4],[2,7,6,9,5,1,4,3,8]];// Calculate the minimum cost to convert to any magic squareletminCost=Infinity;for(constmagicofmagicSquares){letcost=0;for(leti=0;i<9;i++){cost+=Math.abs(flatInput[i]-magic[i]);}minCost=Math.min(minCost,cost);}returnminCost;}
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Forming a Magic Square
You are viewing a single comment's thread. Return to all comments →
JS/Javascript solution:-