ํ๋ก๊ทธ๋๋จธ์ค(programmers) - ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ(์ฝ๋ฉํ ์คํธ ์ฐ์ต)
์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ
ํ์ด
function solution(arr) {
if(arr.length<=1) return [-1];
arr.splice(arr.indexOf(Math.min(...arr)),1);
return arr;
}
์ผ๋จ ์ต์๊ฐ์ ์ฐพ๊ธฐ ์ํ Math.min()์ ์ฌ์ฉํ์๋๋ฐ ...(์คํ๋ ๋์ฐ์ฐ์)๊ฐ ๋ถ์ ์ด์ ๋ arr๊ฐ ๋ฐฐ์ด์ด๊ธฐ ๋๋ฌธ์ด๋ค.
๋ณดํต ๋ฐฐ์ด์ด ์๋ ๊ฒฝ์ฐ๋ก๋ Math.min(2, 3, 1) ์ด๋ฐ์์ผ๋ก ์ฌ์ฉ์ด ๋๊ณ
๋ฐฐ์ด์ ๋ฃ์ด์ ํ๋ ๊ฒฝ์ฐ์ Math.min.apply()๋ฅผ ํ์ฉ ๊ฐ๋ฅํ๋ฐ,
apply()๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฐฐ์ด์ ์๋ฆฌ๋จผํธ๋ฅผ ํจ์์ ์ธ์๋ก ์ฌ์ฉํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
์ด๋ฅผ ๋์ฒดํ๊ธฐ ์ํด์ ...(์คํ๋ ๋์ฐ์ฐ์)๋ฅผ ์ฌ์ฉ ํ ์ ์๋ค.
์ดํ ๊ทธ ๋ฐฐ์ด์์ ์ต์๊ฐ์ ์์น๋ฅผ ์ฐพ๊ธฐ์ํด arr.indexOf() ์์ ์ต์๊ฐ์ ๋ฃ์ด์ฃผ์๋ค.
arr.indexOf()๋ arr์์ ๊ดํธ์์ ์์๊ฐ ๋ฐฐ์ด์์ ์ฒ์์ผ๋ก ๋ํ๋๋ ์์น๊ฐ์ ๋ฆฌํดํด์ค๋ค.
๋ง์ฝ ๋ฐฐ์ด ๋์ ๋ฌธ์์ด์ ์ฌ์ฉํ๋ค๋ฉด ๋ฌธ์์ด์์์ ์์น๊ฐ์ ๋ฆฌํดํด์ค๋ค.
splice(a, b)๋ a๋ฒ์งธ ์ธ๋ฑ์ค๋ถํฐ b๊ฐฏ์๋งํผ ๋ฐฐ์ด์์ ๊ฐ์ ์ญ์ ํด์ค๋ค๊ณ ์ดํดํ๋ฉด ์ฌ์ธ๊ฒ ๊ฐ๋ค.
๋ง์ง๋ง์ผ๋ก ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ 1๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด ๋น ๋ฐฐ์ด์ด ๋๊ธฐ๋๋ฌธ์ [-1]์ ๋ฐํํ๋๋ก ์กฐ๊ฑด๋ฌธ์ ๋ง๋ค์ด ๋ถ์ฌ์ค๋ค.
๋งจ์๋ก ์กฐ๊ฑด๋ฌธ์ ์ฌ๋ ค์ค ์ด์ ๋ก๋ ํจ์๊ฐ ์คํ์ด ๋ ๋ ๋จผ์ ์กฐ๊ฑด์ด ๋๊ฒ๋๋ฉด ๋ถํ์ํ splice ์์ ์ ํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.