/*
https://school.programmers.co.kr/learn/courses/30/lessons/12935

์ •์ˆ˜๋ฅผ ์ €์žฅํ•œ ๋ฐฐ์—ด, arr ์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ์ œ๊ฑฐํ•œ ๋ฐฐ์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ๋‹จ, ๋ฆฌํ„ดํ•˜๋ ค๋Š” ๋ฐฐ์—ด์ด ๋นˆ ๋ฐฐ์—ด์ธ ๊ฒฝ์šฐ์—” ๋ฐฐ์—ด์— -1์„ ์ฑ„์›Œ ๋ฆฌํ„ดํ•˜์„ธ์š”. ์˜ˆ๋ฅผ๋“ค์–ด arr์ด [4,3,2,1]์ธ ๊ฒฝ์šฐ๋Š” [4,3,2]๋ฅผ ๋ฆฌํ„ด ํ•˜๊ณ , [10]๋ฉด [-1]์„ ๋ฆฌํ„ด ํ•ฉ๋‹ˆ๋‹ค.

์ œํ•œ ์กฐ๊ฑด
arr์€ ๊ธธ์ด 1 ์ด์ƒ์ธ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.
์ธ๋ฑ์Šค i, j์— ๋Œ€ํ•ด i ≠ j์ด๋ฉด arr[i] ≠ arr[j] ์ž…๋‹ˆ๋‹ค.
*/

const solution = (arr) => {
  // 1. ์Šคํ”„๋ ˆ๋“œ ์—ฐ์‚ฐ์ž๋กœ ๋ฐฐ์—ด์„ ๋ฒ—๊ฒจ๋‚ธ ๋’ค
  // 2. Math.min์œผ๋กœ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๊ณ 
  // 3. indexOf๋กœ ํ•ด๋‹น ์ตœ์†Ÿ๊ฐ’์˜ ์ธ๋ฑ์Šค ๊ฐ’์„ ๊ตฌํ•œ ๋’ค
  // 4. splice ๋ฉ”์„œ๋“œ๋กœ ํ•ด๋‹น ์ตœ์†Ÿ๊ฐ’๋ถ€ํ„ฐ 1๋ฒˆ์งธ ์ธ๋ฑ์Šค ๊ฐ’๋งŒ ์ž๋ฆ„
  arr.splice(arr.indexOf(Math.min(...arr)), 1);
  if (arr.length <= 1) arr.push(-1);
  // 5. ๋งŒ์•ฝ ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ 1์ดํ•˜๋ผ๋ฉด ๋ฐฐ์—ด์— -1์„ ํ‘ธ์‰ฌ
  return arr;
};

console.log(solution([4, 3, 2, 1]));
console.log(solution([10]));

 

๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค!