プログラマ-プリンタ


質問する



解法

  • で与えられた配列に対して最大値を求める.
  • の最大値をアレイの最初の要素と比較します(私が見つけた値が最大値と一致するまで繰り返します)
  • 重要なのは、インデックスの場所を宣言して、私が検索した値の場所を理解し続けることです.
    (各条件文でindexの値を変更する理由)
  • 位のコースを修了すると、答えの中で私が探している数字が何位なのかがわかります.
  • コード#コード#

    function solution(priorities, location) {
      const arr = [];
      let index = location;
      let answer = 0;
    
      while(priorities.length > 0) {
        const max = Math.max( ...priorities );
        if(max === priorities[0]) {
          arr.push(priorities.shift());
          answer++;
          if(index === 0) {
            break;
          } else {
            index = index -1;
          }
        } else {
          const shiftItem = priorities.shift();
          priorities.push(shiftItem);
          if(index === 0) {
            index = priorities.length -1;
          } else {
            index = index -1;
          }
        }
      }
      return answer;
    }