【CodeWars】1/10 ~ 1/16に解いた問題たち
記事の内容
1/10 ~ 1/16にCodeWarsで解いた問題です。
JavaScriptを使用しています。
朝解いているので、すぐ解ける簡単な問題ばかりです。
1/10 N-th Power
問題の概要 配列のN番目の要素のN乗を返却する。
コード
function index(array, n){ return array[n] ? Math.pow(array[n], n) : -1 }
1/11 Four/Seven
問題の概要
4なら7, 7なら4を返却する。
ただし、ifやswitchを使用せずに。
コード
function fourSeven(n){ const obj = { 4: 7, 7: 4 } return obj[n] || 0; }
1/12 Find Multiples of a Number
問題の概要
limit以下の数字の配列を作る。 www.codewars.com
コード
function findMultiples(integer, limit) { let multiples_array = [integer]; let sum = integer; while (sum + integer <= limit) { sum += integer; multiples_array.push(sum); } return multiples_array; }
forで書いてもよかったかも。
1/13 Parse nice int from char problem
問題の概要 文字列の先頭にある数字をNumber型で返却する。
コード
function getAge(inputString){ let ans = inputString.match(/^[\d]/); return Number(ans[0]); }
2回目
function getAge(inputString){ return parseInt(inputString); }
1/14 Sum of Minimums!
問題の概要 各配列の最小の要素の合計を返却する。
コード
function sumOfMinimums(arrs) { let sum = 0; arrs.forEach ((arr) => { sum += Math.min(...arr); }) return sum; }
1/15 Lario and Muigi Pipe Problem
問題の概要 nからmまでの数字が入った配列の抜け落ちている要素を補完して返却する。
コード
function pipeFix(numbers){ return range(numbers[0], numbers[numbers.length -1], 1); } const range = (start, stop, step) => Array.from({ length: (stop - start) / step + 1}, (_, i) => start + (i * step));
1/16 Write out expression!
問題の概要
計算式を文字の計算にする。
コード
function expressionOut(expr) { const formula = expr.split(' '); let result = OPERATORS[formula[1]] ? `${NUMBERS[formula[0]]} ${OPERATORS[formula[1]]}${NUMBERS[formula[2]]}` : "That's not an operator!"; return result; } const NUMBERS = { '1': 'One', '2': 'Two', '3': 'Three', '4': 'Four', '5': 'Five', '6': 'Six', '7': 'Seven', '8': 'Eight', '9': 'Nine', '10': 'Ten' };