BattleDev-vscode icon indicating copy to clipboard operation
BattleDev-vscode copied to clipboard

J'aimerai bien faire une pull request ;-)

Open julienkermarec opened this issue 5 years ago • 0 comments

Hello,

Je viens de terminer l'exercice 4 a l'instant, j'aurais bien voulu faire une pull request mais a priori ce n'est pas possible, je ne dois pas avoir les droits ;-)

Voilà la solution de l'exercice 4 en javascript 👍

// Ne supprimez pas ces lignes
// Chargement de l'input de test
let input;
function initInput(valeur) {
  input = valeur;
}

// Ne supprimez pas ces lignes
// Support de LocalPrint et LocalPrintArray utilisées dans les
// réponses des exercices de la saison 11
function LocalPrint(chaine) {
  console.error(chaine);
}
function LocalPrintArray(chaine) {
  console.error(chaine);
}

function findLetter(data,last_index){
  let letter = data[0][last_index];
  let max = null;
  let words_to_substring = [];
  for(let i in data){
    let substring = words_substring[i];
    let result = substring.indexOf(letter);
    if(result == -1)
      return -1;
    else {
      words_to_substring.push({index:i,substring:result + 1});
      if(max == null || result > max)
        max = result;
    }
  }
  for(let task of words_to_substring)
    words_substring[task.index] = words_substring[task.index].substring(task.substring);
  return max;
}


function findBest(data){
  last_index = 0;
  final_word = "";
  words_substring = JSON.parse(JSON.stringify(data));
  while(last_index != 10)
  {
    let result = findLetter(data,last_index);

    if(result != -1){
      final_word += data[0][last_index];
      last_index++;
    }
    else
      last_index++;
      if(last_index > 10){
        return final_word;
      }
  }
  return final_word;
}

// -- Développez votre code dans la fonction ContestResponse ci-après
function ContestResponse() {
  let result = "";
  let nb_words = +input[0];
  console.error("nb_words",nb_words)

  // example Data to test
  input.shift();
  let count = 0;
  let best_word = "";
  counter = input.length;
  while(count != counter){
    result = findBest(input);
    if(best_word.length < result.length){
      best_word = result;
    }
    to_push = input[0];
    input.push(to_push);
    input.shift();
    count++;
  }
  if(best_word == null || best_word.length == 0)
    console.log("KO");
  else
    console.log(best_word);

}
// -- Fin de votre code

// Ne supprimez pas ces lignes
exports.ContestResponse = ContestResponse;
exports.initInput = initInput;

julienkermarec avatar Mar 27 '19 02:03 julienkermarec