Skip to content

gianmaria-fadda/Kata-Boolean

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 

Repository files navigation

Coding Training - Kata Boolean

Qui andremo a riportare gli esercizi elencati, con anche le duvute correzioni

Membri del gruppo:

  • Gianmaria Fadda
  • Riccardo Mauri
  • Laura Oliveri
  • Youssef Abdelmalak

Primo esercizio

In breve: in base ad un determinato input, creare la frase di apertura della telecronaca del MotoGP.

Codice Errato

Sample Tests


const { assert } = require('chai'); const name = 'Marc Marquez'

describe('Fixed Tests', () => { it('Racer is in the front row', () => { assert.strictEqual( gridPosition(name, 2), 'Marc Marquez starts from the middle of the front row', 'Incorrect answer for rider = Marc Marquez, position = 2' ); assert.strictEqual( gridPosition(name, 3), 'Marc Marquez starts from the bottom of the front row', 'Incorrect answer for rider = Marc Marquez, position = 3' ); }); it('Racer is in pole', () => { assert.strictEqual( gridPosition(name, 1), 'Marc Marquez starts from pole position', 'Incorrect answer for rider = Marc Marquez, position = 1' ); }); it('Racer in various positions', () => { assert.strictEqual( gridPosition(name, 11), 'Marc Marquez starts from the middle of the 4th row', 'Incorrect answer for rider = Marc Marquez, position = 11' ); assert.strictEqual( gridPosition(name, 13), 'Marc Marquez starts from the top of the 5th row', 'Incorrect answer for rider = Marc Marquez, position = 13' ); assert.strictEqual( gridPosition(name, 9), 'Marc Marquez starts from the bottom of the 3rd row' ); }); });


Kata-1
Codice Corretto

const gridPosition = (name, position) => { const row = Math.ceil(position / 3); const col = position % 3 || 3;

if (position === 1) return ${name} starts from pole position;

if (row === 1) { if (col === 1) return ${name} starts from the top of the front row; if (col === 2) return ${name} starts from the middle of the front row; if (col === 3) return ${name} starts from the bottom of the front row; }

const positionInRow = col === 1 ? 'top' : col === 2 ? 'middle' : 'bottom'; return ${name} starts from the ${positionInRow} of the ${row}${order(row)} row; };

const order = (number) => { const lastNumber = number % 10; const lastTwoNumber = number % 100;

if (lastNumber === 1) return 'st';

if (lastNumber === 2) return 'nd';

if (lastNumber === 3) return 'rd';

return 'th'; };


Kata-Solution-1

Secondo esercizio

In breve: sapendo come cresce la popolazione di una città, calcolare quanti anni servono per arrivare ad un determinato valore

Codice Errato

Sample Tests


const Test = require('@codewars/test-compat');

describe("nbYear",function() { it("Basic tests",function() {
Test.assertEquals(nbYear(1500, 5, 100, 5000), 15); Test.assertEquals(nbYear(1500000, 2.5, 10000, 2000000), 10); Test.assertEquals(nbYear(1500000, 0.25, 1000, 2000000), 94); Test.assertEquals(nbYear(1000, 2.0, 50, 1214), 4, "Did you maybe forgot to round down population at the end of each year?"); })})


Kata-2

Codice Corretto


function nbYear(p0, percent, aug, p) { let year = 0; percent /= 100; while (p0 < p) { p0 += Math.floor(p0 * percent) + aug; year++; } return year; }


Kata-2-Risolto

terzo esercizio

In breve: cercare un paio di occhiali nelle stringhe di un array!

Codice Errato

Sample Tests


const chai = require("chai"); const assert = chai.assert;

const doTest = (arr, expected) => it(findGlasses(${JSON.stringify(arr)}), () => assert.strictEqual(findGlasses(arr), expected))

//Fixed Tests describe("Fixed Tests", () => { doTest(['phone', 'O-O', 'coins', 'keys'], 1) doTest(['OO', 'wallet', 'O##O', 'O----O'], 3) doTest(['O_O', 'O-O', 'OwO'], 1) doTest(['O--#--O', 'dustO---Odust', 'more dust'], 1) doTest(['floor', 'the floor again', 'pockets', 'bed', 'cabinet', 'the top of my head O-O'], 5) doTest(['OOOO----~OOO', '-------', 'OOOOOOO', 'OO-OO-OO-O'], 3) });


Kata-3
Codice Corretto

function findGlasses(arr) { for (let i = 0; i < arr.length; i++) { const item = arr[i]; if (/O[-]+O/.test(item)) { return i; } } }

Kata-3-Risolto

Quarto Esercizio

In breve: calcolare i bonus di un gruppo di team in base a determinate regole.

Codice Errato

Sample Test


const Test = require('@codewars/test-compat');

describe("Basic Tests", function(){ it("It should works for basic tests.", function(){

Test.assertEquals(minimumBonus([20,30,10,30,40,10,20,30,40,30]),20)

Test.assertEquals(minimumBonus([10,20,30]),6)

Test.assertEquals(minimumBonus([30,20,10]),6)

Test.assertEquals(minimumBonus([30,20,20,10]),6)

Test.assertEquals(minimumBonus([10,20,20,30]),6)

Test.assertEquals(minimumBonus([20,20,20,20]),4)

Test.assertEquals(minimumBonus([20,30,40,30,20,10]),13)

})})


Kata-4
Codice Corretto

function minimumBonus(scores) { let bonus = Array(scores.length).fill(1);

for (let i = 1; i < scores.length; i++) { if (scores[i] > scores[i - 1]) { bonus[i] = bonus[i - 1] + 1; } } for (let i = scores.length - 2; i >= 0; i--) { if (scores[i] > scores[i + 1]) { bonus[i] = Math.max(bonus[i], bonus[i + 1] + 1); } } let sum = 0; for (let i = 0; i < bonus.length; i++) { sum += bonus[i]; } return sum; }

Kata-4-Risolto

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors