728x90
๐ 17 - ํฐ ์ ์ถ๋ ฅํ๊ธฐ
์ด๋ฒ ์น์ ์ 1, 2์ฐจ์ ํ์์ ํด๋ณด๋ ์น์ ์ด๋ค.
์์ ์ ๋ฐ๋ก ์์ ๊ฐ๋ง ๋น๊ตํ๋ค๋ ์ ์ ๊ณ ๋ คํด์ reduce
ํจ์๋ฅผ ์ฌ์ฉํ๋ค. reduce
ํจ์์ ์ธ์๋ก ๋๊ฒจ์ค acc, cur
์์ acc
๋ฅผ ์ด์ ๋จ๊ณ์ cur
๋ก return
ํด์ฃผ๋ฉด ๋ฐ๋ก ์ด์ index
์ ๋น๊ตํ๊ฒ ๋๋ค. (๋งจ ์ฒ์์๋ 0
์ ๋๊ฒจ์ฃผ์.)
reduce ํจ์ ์ด์ธ์๋ for
๋ฌธ์ผ๋ก ํ ๋ ๊ทธ๋ค์ง ์ด๋ ต์ง ์์๋๋ฐ, ๋งจ ์์ ๊ฐ์ ๋น๊ตํ ๋๋ ์ด์ ๊ฐ์ด ์๊ธฐ ๋๋ฌธ์ 0
์ ์ถ๊ฐํด์คฌ๋ค. (ํน์ Number.MIN_SAFE_INTEGER
์ ํ ๋นํด์ค๋ ๋๋ค.)
console.log(solution([7, 3, 9, 5, 6, 12]));
// reduce
function solution(arr) {
let answer = [];
arr.reduce((acc, cur) => {
if (cur > acc) {
answer.push(cur);
}
return cur;
}, 0);
return answer.join(' ');
}
// for
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(' ');
}
// for2
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.join(' ');
}
๋ฐ์ํ
๋๊ธ