ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ
์ ์๋ฅผ ์ ์ฅํ ๋ฐฐ์ด, arr์์ ๊ฐ์ฅ ์์ ์๋ฅผ ์ ๊ฑฐํ ๋ฐฐ์ด์ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํ์์ค.
- ์กฐ๊ฑด :
๋จ, ๋ฆฌํดํ๋ ค๋ ๋ฐฐ์ด์ด ๋น ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ์๋ ๋ฐฐ์ด์ -1 ์ ์ฑ์์ ๋ฆฌํด.
์๋ฅผ ๋ค์ด arr์ด [4, 3, 2, 1]์ธ ๊ฒฝ์ฐ๋ [4, 3, 2]๋ฅผ ๋ฆฌํดํ๊ณ , [10]์ด๋ฉด [-1]์ ๋ฆฌํด.
์ ํ ์กฐ๊ฑด : arr์ ๊ธธ์ด 1 ์ด์์ธ ๋ฐฐ์ด์
๋๋ค.
์ธ๋ฑ์ค i, j ์ ๋ํด i โ j์ด๋ฉด arr[i] โ arr[j].
"solotuin.js" ๋ฌธ์ ํ์ด
๊ฐ์ฅ ์์ ๊ฐ์ ์ฐพ๊ณ , ์ฐพ์ ์์๋ฅผ ์ญ์ ํ์ฌ ๋ฐํํด๋ณด์.
const erase = [4, 3, 2, 1];
function solution(arr) {
arr.splice( arr.findIndex((a) => a == Math.min(...arr) ), 1 );
return arr.length <= 1 ? arr = [-1] : arr;
}
console.log(solution(erase));
์์ erase์ [4, 3, 2, 1]์ด ์ ์ฅ๋์ด ์๊ณ , erase == arr
( arr.findIndex((a) => a == Math.min(...arr) ), 1 ); : [4,3,2,1] ์ค ๊ฐ์ฅ ์์ ์ซ์ 1์ ๋ฐํ
arr.splice๋ก ๊ฐ์ธ์ ธ ์๊ธฐ ๋๋ฌธ์ ํด๋น ๊ฐ์ ์ ๊ฑฐํ ํ ๋ฐํํจ. ์ฆ 1์ด ์ถ๋ ฅ๋จ.
return arr.length <= 1 (X) / arr = [-1](O) : arr;
๋ค๋ฅธ ํ์ด ๋ฐฉ๋ฒ
# 1) Math.min( )๊ณผ filter( ), ์ผํญ ์ฐ์ฐ์๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์๋ค.
const erase = [4, 3, 2, 1];
function solution(arr) {
const min = Math.min(...arr);
return arr.length !== 1 ? arr.filter( i => i !== min ) : [-1];
}
console.log(solution(erase))
์์ min์ ๊ฐ์ฅ ์์ ๊ฐ์ ์ ์ฅํจ. 1์ด ์ ์ฅ๋จ.
4 !== 1 ์ด๋ฏ๋ก, arr.filter(i => i !== min)๋ก 1์ ์ ์ธํ ๊ฐ๋ง์ ๋จ๊ธด๋ค.
apply( )์ indexOf( ), if๋ฌธ์ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค.
const erase = [4, 3, 2, 1];
function solution(arr) {
let a = Math.min.apply( null, arr );
arr.splice( arr.indexOf(a), 1 );
if( arr[0] == undefined )
return [-1];
else
return arr;
}
console.log(solution(erase))
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : ๋ถ์กฑํ ๊ธ์ก ๊ณ์ฐํ๊ธฐ (1) | 2022.11.02 |
---|---|
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : ํด๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ (1) | 2022.11.01 |
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : ์ฝ์์ ํฉ (0) | 2022.10.31 |
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : ํ๊ท ๊ตฌํ๊ธฐ (1) | 2022.10.31 |
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : ์ง์์ ํ์ (3) | 2022.10.28 |
๋๊ธ