もうひとつ、15分でコーディング
またまた間に合わなかったけど。。。20分位かな。
スマートに書くとか綺麗に書くとかまだ考えられない!
とりあえず動くものという段階です。
元ネタJAVA5.0でGO!! | プログラミングに自信があるやつこい!!
function whoCanSee(usr, usrData, findData) { var result = new Array(); for(var i = 0; i < usrData.length; i++) // ユーザ単位のループ { var tmpResult = new Array(); var usrDataArray = usrData[i].split(" "); // ユーザデータを分割 for(var j = 0; j < findData.length; j++) { for(var k = 0; k < usrDataArray.length; k++) { if(findData[j] == usrDataArray[k]) { tmpResult.push(true); break; } } } if(tmpResult.length == findData.length) { result.push(usr[i]); } } return result.sort(); }
10分間コーディング
JavaScriptの勉強になったかな?
10分どころでは終わらなかったのですが、、、
元ネタ
10分でコーディング | プログラミングに自信があるやつこい!!
function deal(num, cards) { var max = Math.floor(cards.length / num); var testArray = new Array(); for(var i = 0; i < num ; i++) // 人数分ループ { var result = ""; for(var j = 0; j < max; j++) // 一人分のカード枚数分ループ { var cardnum = i+(j*num); // 自分の初期位置(自分のカードのx枚目) var tmpcardnum = cards.charAt(cardnum); if(tmpcardnum) { result += cards.charAt(cardnum); } else { break; } } testArray.push("\"" + result + "\""); } return testArray; }
寝る前にもうひとつ
20分くらいかかったかな・・・
クラス化を試してみた。
こんな感じであってるのかな。
元ネタtopcoderの道1 | プログラミングに自信があるやつこい!!
function CCipher() { this.alphabet = ["A","B","C","D","E","F" ,"G","H","I","J","K","L" ,"L","M","N","O","P","Q" ,"R","S","T","U","V","W" ,"X","Y","Z" ]; } CCipher.prototype.decode = function(str, num){ var result = ""; for(var i =0; i < str.length; i++) { var index = this.getAlphabetIndex(str.charAt(i)); result += this.alphabet[this.getShiftIndex(index, num)]; } return result; }; CCipher.prototype.getAlphabetIndex = function(char) { for(var i = 0; i < this.alphabet.length; i++) { if(char == this.alphabet[i]) { return i; } } }; CCipher.prototype.getShiftIndex = function(index, num) { var tmp = index - num; if(tmp < 0) { return this.alphabet.length - Math.abs(tmp); } else { return tmp; } };