Question
์ ์๋ฅผ ์ ์ฅํ ๋ฐฐ์ด, arr์์ ๊ฐ์ฅ ์์ ์๋ฅผ ์ ๊ฑฐํ ๋ฐฐ์ด์ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์. ๋จ, ๋ฆฌํดํ๋ ค๋ ๋ฐฐ์ด์ด ๋น ๋ฐฐ์ด์ธ ๊ฒฝ์ฐ์ ๋ฐฐ์ด์ -1์ ์ฑ์ ๋ฆฌํดํ์ธ์. ์๋ฅผ ๋ค์ด arr์ด [4,3,2,1]์ธ ๊ฒฝ์ฐ๋ [4,3,2]๋ฅผ ๋ฆฌํดํ๊ณ , [10] ๋ฉด [-1]์ ๋ฆฌํด ํฉ๋๋ค.
์ ํ ์กฐ๊ฑด
- arr์ ๊ธธ์ด 1 ์ด์์ธ ๋ฐฐ์ด์ ๋๋ค.
- ์ธ๋ฑ์ค i, j์ ๋ํด i ≠ j์ด๋ฉด arr[i] ≠ arr[j] ์ ๋๋ค
์ ์ถ๋ ฅ ์์
My Code
function solution(arr) {
return arr.length > 1 ? arr.filter((a) => a !== Math.min(...arr)) : [-1];
}
ํ ์ค๋ก ๋ต์ด ๋์์ผ๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์ด์ ๊ทธ๋ ๊ฒ ํด๋ดค๋ค. <์ด๊ฒ์ด ๊ฒ๋ฉ? ๐
HOW? (ํ์ด๋ฐฉ๋ฒ)
- ์ฃผ์ด์ง๋ ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ 2 ์ด์์ด ์๋๋ฉด [-1]์ return ํ๋ค.
- ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ 2 ์ด์์ด๋ผ๋ฉด filter ๋ฉ์๋๋ฅผ ์ด์ฉํด ๊ฐ์ฅ ์์ ์๊ฐ ์๋ ์์๋ค๋ง ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด๋ก return ํ๋ค.
๋ค๋ฅธ ํ์ด ๋ฐฉ๋ฒ์ผ๋ก splice๋ฅผ ์ด์ฉํด ๊ฐ์ฅ ์์ ๊ฐ์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ๋ ์์๋ค.
arr.splice(arr.indexOf(Math.min(...arr)),1);
indexOf๋ก ๊ฐ์ฅ ์์ ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ์์๋ด์ด ์ ๊ฑฐํ ํ arr์ return ํ๋ฉด ๋๋ค.
splice๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ์ ์๊ฐ๋ ๋ชปํ๋๋ฐ ๋ค๋ฅธ ์ฌ๋๋ค์ ํ์ด๋ฅผ ๋ณด๋ ๊ฑด ์ฌ๋ฐ๋ค.
'Algorithms > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค : 2016๋ (0) | 2022.06.04 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค : K๋ฒ์งธ ์ (0) | 2022.05.29 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์์ฐ์ ๋ค์ง์ด ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ (0) | 2022.05.22 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ด์ํ ๋ฌธ์ ๋ง๋ค๊ธฐ (0) | 2022.05.20 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค : ์ฒด์ก๋ณต (0) | 2022.05.19 |