[プログラマー]レベル1私は同じ数字が好きではありません.
中間文字を入力
問題の説明
配列arr.アレイarrの各要素は、0から9の数字で構成されています.この場合、アレイarrは連続して表示される数字を1つだけ保持し、すべて削除しようとします.
ただし、削除後に残数を返す場合は、アレイarr内の要素の順序を維持する必要があります.
たとえば、
制限
arrreturn[1,1,3,3,0,1,1][1,3,0,1][4,4,4,3,3][4,3]
数位問題を読んだ後の思考
1.アレイ内の要素を1つずつ比較します.同じ場合、アレイに入れるべきですか、それともアレイに入れないべきですか.
2.条件文を書いてもいいですよね?同じ時、違う時、別れる
3.複文を書きますか.
// ( solution.js )
function solution(arr) {
var answer = [];
for( let i = 0 ; i < arr.length ; i++){
if( arr[i] !== arr[i+1] ){
answer.push(arr[i]);
}
}
return answer;
}
function solution(arr)
{
return arr.filter((val, index) => val != arr[index+1]);
}
<ソース-モダンJavaScript Deep Dive>❓ filter
const numbers = [1,2,3,4,5];
// numbers 배열에서 홀수인 요소만 필터링할 경우(1은 true로 평가된다)
const odd = numbers.filter(item => item % 2);
console.log(odd); // [1,3,5]
요소값
および인덱스
を順次伝達し、filterメソッドを呼び出す配列自体、すなわちthis
を伝達することができる.すなわち、filterメソッドは、コールバック関数を呼び出すときに、filterメソッドを呼び出す配列の要素値とインデックス、およびfilterメソッドを呼び出す配列の3つのパラメータを順次渡す(this).
// filter 메서드는 콜백 함수를 호출하면서 3개(요소값, 인덱스, this)의 인수를 전달한다.
[1,2,3].filter( (item, index, arr) => {
console.log(`요소값: ${item}, 인덱스: ${index}, this: ${JSON.stringify(arr)}`);
return item % 2;
});
/*
요소값: 1, 인덱스: 0, this: [1,2,3]
요소값: 2, 인덱스: 1, this: [1,2,3]
요소값: 3, 인덱스: 2, this: [1,2,3]
*/
👀 問題を解いた後の思考次は繰り返し文でもforeach map filterを考えて
Reference
この問題について([プログラマー]レベル1私は同じ数字が好きではありません.), 我々は、より多くの情報をここで見つけました https://velog.io/@hyesom/프로그래머스-Level1.-같은-숫자는-싫어テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol