Day 6: Love Letter Mystery
-
dvdvdmt 9 years ago With the help of recursion it solves pretty easy:
function calcOperations(row, left, right) { if (left >= right) return 0; var leftCode = row.charCodeAt(left); var rightCode = row.charCodeAt(right); var diff = Math.abs(rightCode - leftCode); return diff + calcOperations(row, left + 1, right - 1); }
-
wasifhossain 9 years ago simplicity wins!
-
-
Jarun14 9 years ago function processData(input) { var lines = input.split('\n'); var n = Number(lines[0]);
for (var i=1; i<=n; ++i){ var ops=0; var first_loc = 0; var last_loc = lines[i].length -1; do{ var first = lines[i].charCodeAt(first_loc); var last = lines[i].charCodeAt(last_loc); if(first!=last){ ops+= Math.abs(first-last); } ++first_loc; --last_loc; }while(first_loc<=last_loc); console.log(ops); }
}
Runs in all cases
-
PRASHANTB1984 9 years ago Neat and clean code! Thank you for sharing your solution.
-
-
khyatigaur13_kg 6 years ago var arr = input.split("\n"); var newarr= arr.slice(1); for (k=0;k<newarr.length;k++){ var str=newarr[k]; var mid=Math.floor(str.length/2); var count=0; var diff=0; var j= str.length-1; for (let i=0;i<mid;i++){ diff=Math.abs(str.charCodeAt(j)-str.charCodeAt(i)); count+=diff; j--; } console.log(count); }
-
gopal_554 6 years ago My Solution:
function processData(input) { var strs = input.split("\n"); for (var i = 1; i< strs.length; i++) { var tempStr = strs[i]; var changeReq = 0; for (var j = 0; j < Math.floor(tempStr.length / 2); j++) { changeReq = changeReq + Math.abs(tempStr.charCodeAt(j) - tempStr.charCodeAt((tempStr.length - 1) - j)); } console.log(changeReq); } }
-
ameyb2018 6 years ago function processData(input) { //Enter your code here var ip = input.split(/\s+/g); var lenArr = ip.length; var strLen = ip[1].length; var i = 1; while(i<lenArr) { convertToAscii(ip[i]); i++; } } function convertToAscii(str) { var cstrLen = str.length; var i = 0; var j = 0; var ascArr = new Array(); var receivedCounter = 0; for(i=0;i<cstrLen;i++) { ascArr[j] = str[i].charCodeAt(); j++; } findPalindrome(ascArr);//97,98,99,100 } function findPalindrome(asciiArray) { var asciiArrayLen = asciiArray.length; var i = 0; var j = asciiArrayLen-1; var counter = 0; while(i<=j) { if(asciiArray[i]<asciiArray[j]) { while(asciiArray[i]!=asciiArray[j]) { asciiArray[j] = asciiArray[j]-1; counter++; } } else { while(asciiArray[i]!=asciiArray[j]) { asciiArray[i] = asciiArray[i]-1; counter++; } } i++; j--; } console.log(counter); } process.stdin.resume(); process.stdin.setEncoding("ascii"); _input = ""; process.stdin.on("data", function (input) { _input += input; }); process.stdin.on("end", function () { processData(_input); });
Load more conversations
Sort 9 Discussions, By:
Please Log In in order to post a comment