Tuesday April 11th

4/11/17 - Katas, Grothendieck and Matlab

Personal:

  • Had to get caught up on work today, and on C++ homework. I have a lab due in a day.

  • Solved some katas:

    Given an array of numbers, sort them in such a manner that all the odd numbers are sorted in ascending order and the even are sorted in descending. If array contains decimals, round them down while checking for odd/even.

    Here is my solution:

function sortItOut(array){
        // I made two arrays
        var odd = []
        var even = []
        //Looped through the entire array -> array
        for (var i = 0; i < array.length; i++){
        //if values are even, round them down and push them to even array
          if (Math.floor(array[i]) % 2 === 0){
            even.push(array[i])
          }
          // if they're odd, push to odd array
          else{
            odd.push(array[i])
          }
        }
        // double check they are sorted properly (JS needs to be sorted by integer, not string)
        even=even.sort((a,b)=>a-b);
        odd =odd.sort((a,b)=>a-b);
        
        // concat both lists and reverse the even while doing so
        return(odd.concat(even.reverse()) )
}

Count the number of words in a sentence

function word_count(str) {
      var a = str.split(/[ ,]+/);
      return(a.length)
}

Return an array whose element of array fall between and include start to end values

function arrayInterval(array, start, end) {

  //pushing to arr which is currently empty
  var arr = []
  
  // loop through given array, checking if values 
  // are part of and included in start to finish values
  
  for (var i = 0; i < array.length; i++){
    if ((array[i] >= start) && (array[i] <= end)){
    //push to new array if satisfy values
      arr.push(array[i])
    }
  }
  
  // return newly filled array
  return arr
}

Things I learned today/ interested in:

  • Directed Acrylic Graphs -> Topological Sorting

  • planning to research and learn about Grothendieck Topology to be caught up for LambdaConf/ Haskell talk

  • Matlab EdX course begins today on producing logically sound programmes

Written on April 11, 2017