[アルゴリズム]2 Dナビゲーション-出力の大きい数
9607 ワード
大きな数値を出力
N(1<=N<=100)個の整数を入力し、その前の桁数よりも大きい出力のみを出力するプログラムを作成してください.(最初の数字は無条件出力)
■説明の入力
最初の行は自然数Nを与え、次の行はN個の整数を入力する.
■出力説明
出力される行数は自分の行数より大きい.
■入力例1
6
7 3 9 5 6 12
■出力例1
7 9 6 12
要素を順に参照し、条件に合致する要素を正解配列に挿入します.
説明する
function solution(arr) {
let answer = [];
answer.push(arr[0]);
for (let i = 1; i < arr.length; i++) {
arr[i] < arr[i + 1] ? answer.push(arr[i + 1]) : null;
}
return answer;
}
講師の説明
function solution(arr){
let answer=[];
answer.push(arr[0]);
for(let i=1; i<arr.length; i++){
if(arr[i]>arr[i-1]) answer.push(arr[i]);
}
return answer;
}
別の解釈
function solution(arr){
let answer = [];
arr = [0, ...arr];
for (let i=1; i < arr.length; i++){
if (arr[i] > arr[i-1]){
answer.push(arr[i])
}
}
return answer.join(' ');
}
push
ではなく、スプレッドシート構文を使用しています.function solution(arr) {
let answer = [];
arr.reduce((acc, cur) => {
if (cur > acc) {
answer.push(cur);
}
return cur;
}, 0);
return answer.join(' ');
}
reduce
法を用いた.私の目標はfor문
を使わないことですが、この方法は思いつきません.実はとても简単です...reduce
を関数の因子acc,cur
に変換し、acc
を前の段階のcur
に変換し、前の段階のindex
と比較する.このとき、初期値は0です.Reference
この問題について([アルゴリズム]2 Dナビゲーション-出力の大きい数), 我々は、より多くの情報をここで見つけました https://velog.io/@shinwonse/알고리즘-2차원-탐색-큰-수-출력하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol