コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

人柱学習帳 アポクリファ #2

どうして人間は争うのか

きっと遺伝子がそうさせるんだと思うんです。身体は逃走を求めるのです。


まあそういう話はどうでもいいんですよ。タイトルから中身が全く不明な前回の続きとかそういうのをやっていきます。続きのネタにし辛くて放置していたんだけども、何か思いついたら後から追記とかしていけばいいかとか思ったんで続きやっていきます。

前回記事
inujini.hatenablog.com


続きの内容

ということで前回残ってしまったコンテンツを見ていきます。

アルゴリズムについて
f:id:andron:20200313062021p:plain
特にチェックする機構がないのでどんな内容かだけ以下に乗せておきます。回答とか知りたければ登録すればいいと思うよ。

内容は以下の通り

  • 階乗
// numの階乗を求める
function factorial(num) {
  return num;
}
factorial(4); // 24



  • 一番大きい文字
// strの中で最も長い文字数を返す
function longestWord(str) {
    return longestWord;
}
longestWord("Find a longest word in a string"); // longest



  • タイトルケース
// 大文字に変換して表示
function titleCase(str) {
    return str;
}
titleCase("sky is blue"); // Sky Is Blue



  • 大きい数字
// 与えられた配列arrで大きい数字を取得
function largestOfThree(arr) {
    return arr;
}
largestOfThree([
    [13, 27, 18, 26],
    [32, 35, 37, 39],
    [1000, 1001, 857, 1]
]); // [27, 39, 1001]



  • 最後の文字の確認
function confirmEnding(str, target) {
    return true;
}
confirmEnding("Apple", "e"); // true



  • 繰り返し
// timesの数だけstringを繰り返す
function repeatStringNumTimes(string, times) {
    return str;
}
repeatStringNumTimes("apple", 2); // "appleapple"



  • 文字列の切り捨て
// num文字以内になるようにstrを切り捨て
// 最後の文字は「 ...」となること
function truncate(str, num) {
    return str;
}
truncate("This is a string", 8); // "This ..."



  • 要素の探索
// funcを満たすarr内の一番最初の要素を取得
function findElement(arr, func) {
    let num = 0;
    return num;
}
findElement([1, 2, 3, 4], num => num % 2 === 0); // 2



  • bool判定
// 入力された値がbool型であるか
function boo(bool) {
    return bool;
}
boo(null); // false



  • 配列処理
// arr2内のn番目にarr1を挿入
function splicer(arr1, arr2, n) {
    return arr2;
}
splicer([1, 2, 3], ['a', 'b', 'c'], 2); // ["a", "b", 1, 2, 3, "c"] 


こんなんが練習お題としてあります。気が向いたら回答をGitHubとかに載せるかもしれないし載せないかもしれない。



コンピュータサイエンスについて

f:id:andron:20200313084925p:plain
内容は以下の通り。主にデータ構造とアルゴリズムに関しての内容。

  1. イントロダクション
  2. 配列
  3. 連結リスト
  4. 連結リストと配列
  5. スタック
  6. キュー
  7. 木構造
  8. 最小ヒープ
  9. 最大ヒープ
  10. 二分木
  11. マージソート
  12. バブルソート
  13. 二分探索
  14. 時間計算量
  15. 定数時間
  16. 線形時間
  17. 対数時間

といったことの解説コンテンツです。多分僕はこれからもゴリ押し全探索のクソみたいなプログラムを生産し続けると思うからこれが役に立つことはないかもしれない(競プロをやれ……。


ちなみになんですけど、僕みたいな全探索思考をしているとこの動画みたいなことになるから僕の真似はしないようにな!アルゴリズム大事!


おわり