[アルゴリズム]2 Dナビゲーション-可視学生
4759 ワード
目に見える学生
先生はN(1<=N<=1000)人の学生を一列に並べた.一列に並んだ学生が前から順番に身長をあげるときは、一番前に立っている先生が見える学生の数を求めるプログラムを作ってください.△前に立っている人より大きいと見えますが、小さいと見えません.
■説明の入力
1行目に整数Nを入力します.次の行では、N人の生徒の身長が前から順に与えられる.
■出力説明
先生が見える最大の学生数を印刷します.
■入力例1
8
130 135 148 140 145 150 150 153
■出力例1
5
説明する
function solution(arr) {
let answer = [];
let max = 0;
arr.reduce((acc, cur) => {
max < acc ? (max = acc) : null;
cur > max ? answer.push(cur) : null;
return cur;
}, 0);
return answer.length;
}
大きなデジタル出力の問題との結果はあまり差がありません.違うのは、前に背の高い友達がいて、後ろの友達がこの友達より背が低いと、前の友達が私より背が低くても見えません.そこでmaxを別の位置に置きます.reduce
関数を使用して、コールバック関数の最初の行で最大値をacc値と比較して設定します.その後、条件に合った価格を腕立て伏せした.講師の説明
function solution(arr){
let answer=1, max=arr[0];
for(let i=1; i<arr.length; i++){
if(arr[i]>max){
answer++;
max=arr[i];
}
}
return answer;
}
Reference
この問題について([アルゴリズム]2 Dナビゲーション-可視学生), 我々は、より多くの情報をここで見つけました https://velog.io/@shinwonse/알고리즘-2차원-탐색-보이는-학생テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol