JavaScriptの練習として個別にアップしている投稿をまとめました。
実際のコード、詳細等は投稿したページにリンクでつないでいます。
載せているコード以外のこたえが浮かんだ方はコメントいただけると嬉しいです。
このまとめが他の方の参考になれば幸いです。
JavaScript 関数問題 まとめ 1~10
JavaScript 関数問題 まとめ 11~20
##21 完全平方であるか判定し、正ならば次の完全平方を返す
与えられた引数が完全平方であるか判定し、正ならば次の完全平方を返す。
誤ならば-1を返す。
与えられる値は正の数とする。
*完全平方
ある整数・整式が他の整数・整式の平方になっていること。
→ √をとると、整数になる数。1,4,9,16,25,36,49…
function findNextSquare(sq) {
//write your code.
return ;
}
出力結果 例
findNextSquare(121) // 144
findNextSquare(625) // 676
findNextSquare(114) // -1
##22 DNA塩基配列のペアを返す
function pairDna(str) {
//write your code.
return arr;
}
pairDna("ATCGA");//[["A","T"],["T","A"],["C","G"],["G","C"],["A","T"]]
出力結果 例
("TTGAG")// [["T","A"],["T","A"],["G","C"],["A","T"],["G","C"]]
("CTCTA") // [["C","G"],["T","A"],["C","G"],["T","A"],["A","T"]]
##23 連続するアルファベットから抜け落ちている文字を返す
連続するアルファベットから抜け落ちている文字を返す。
function missingLetters(str) {
//write your code.
return missing;
}
missingLetters("abce");//d
出力結果 例
("abcdefghjklmno") // i
("bcd") // undefined
("yz") // undefined
##24 配列に別の配列の新たな数を追加していく
・配列に別の配列の新たな数を追加していく
・新たな数は最後尾に順に足していく
function uniteUnique(arr) {
//write your code.
return newArr;
}
uniteUnique([1, 3, 2], [5, 2, 1, 4], [2, 1]) // [1, 3, 2, 5, 4]
出力結果 例
([1, 3, 2], [1, [5]], [2, [4]]) // [1, 3, 2, [5], [4]]
([1, 2, 3], [5, 2, 1]) // [1, 2, 3, 5]
([1, 2, 3], [5, 2, 1, 4], [2, 1], [6, 7, 8]) // [1, 2, 3, 5, 4, 6, 7, 8]
##25 js HTML Entitiesへの変換
HTMLマークアップにおいて頻繁に用いられると思われる文字(下記)をHTML Entities(文字実体参照)へ変換する。
function convertHTML(str) {
//write your code.
}
convertHTML("Dolce & Gabbana");//Dolce & Gabbana
出力結果 例
convertHTML('Stuff in "quotation marks"') // Stuff in "quotation marks"
convertHTML("Shindler's List") // Shindler's List
convertHTML("<>") // <>
convertHTML("abc") // abc
##26 フィボナッチ数列の奇数を合計する。
例 引数10の場合、10が返ってくる。
10以下の奇数のフィボナッチ数は1,1,3,5で合計は10のため
function sumFibs(num) {
//write your code.
}
sumFibs(4);//Fibs[1,1,2,3] sum 5
出力結果 例
sumFibs(4000000) //4613732
sumFibs(4) //5
sumFibs(75024) //60696
sumFibs(75025) //135721
##27 バイナリからテキストへの変換
binaryデータをアルファベットへ変換する。
function binaryConverter(str) {
//write your code.
}
binaryConverter("1001000 1100101 1101100 1101100 1101111 100000 1010111 1101111 1110010 1101100 1100100 100001");
//Hello World!
##28 引数の値に含まれる素数を合計する。
例 引数10の場合、10に含まれる素数は2,3,5,7 こたえは17
function sumPrimes(num) {
//write your code.
}
sumPrimes(10);//17
出力結果 例
sumPrimes(10) //17
sumPrimes(977) // 73156
##29 二つの文字列を一つにする
与えられる二つの引数(アルファベット文字列)を以下の条件を満たしつつ一つに結合する。
・アルファベットを順番に並べかえる
・重なった文字は省略する
function longest(s1, s2) {
//write your code.
}
longest("xyaabbbccccdefww", "xxxxyyyyabklmopq") // "abcdefklmopqwxy"
出力結果 例
longest("aretheyhere", "yestheyarehere")// "aehrsty"
longest("loopingisfunbutdangerous", "lessdangerousthancoding")// "abcdefghilnoprstu"
longest("inmanylanguages", "theresapairoffunctions")// "acefghilmnoprstuy"
##30 フェイクバイナリの変換
・引数で与えられた数字0~4は0、5~9は1に変換して返す。
function fakeBin(x){
//write your code.
}
出力結果 例
fakeBin('45385593107843568')// 01011110001100111
fakeBin('509321967506747')//101000111101101
fakeBin('366058562030849490134388085')//011011110000101010000011011