[ JavaScript ์•Œ๊ณ ๋ฆฌ์ฆ˜ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค)] ์ œ์ผ ์ž‘์€ ์ˆ˜ ์ œ๊ฑฐํ•˜๊ธฐ

2023. 8. 29. 09:55ใ†5. Algorithm

  • ์ œ์ผ ์ž‘์€ ์ˆ˜ ์ œ๊ฑฐํ•˜๊ธฐ

 

1. ๋ฌธ์ œ์„ค๋ช…

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

 

2. ์ž…์ถœ๋ ฅ ์˜ˆ

3. ์ œํ•œ์‚ฌํ•ญ

 

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

 


[ ๋‚ด๊ฐ€ํ•œ ๋ฌธ์ œ ํ’€์ด ] 

function solution(arr) {

    var answer = [];

    if (arr.length<=1){
        return [-1];

    }else{

        arr.splice(arr.indexOf(Math.min(...arr)),1);
        answer =  arr;
    }   

    return answer
}

 

* ์ฃผ์„์ถ”๊ฐ€ 

function solution(arr) {

    var answer = [];

    if (arr.length<=1){
        return [-1];
        // arr์˜ ๊ธธ์ด๊ฐ€ 1 ์ดํ•˜์ด๋ฉด, [-1]์„ ๋ฐ˜ํ™˜

    }else{

        arr.splice(arr.indexOf(Math.min(...arr)),1);
       
    
    // Math.min(…arr) ->  arr์˜ ์›์†Œ๋“ค ์ค‘ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜
    // arr.indexOf(Math.min(…arr))์€ ๊ทธ ์ตœ์†Ÿ๊ฐ’์˜ ์ธ๋ฑ์Šค๋ฅผ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜
    // ๋”ฐ๋ผ์„œ arr.splice(arr.indexOf(Math.min(…arr)),1)์€ 
    // ๊ทธ ์ธ๋ฑ์Šค์— ํ•ด๋‹นํ•˜๋Š” ์›์†Œ๋ฅผ arr์—์„œ ์ œ๊ฑฐ. 

    }    return answer
    answer =  arr;

// answer์— ์ œ๊ฑฐ๋œ arr์„ ํ• ๋‹นํ•ด์„œ ๋ณ€ํ™˜ํ•œ๋‹ค.

[ math.min ํ•จ์ˆ˜ ]

Math.min() - JavaScript | MDN (mozilla.org)

 

Math.min() - JavaScript | MDN

Math.min() ํ•จ์ˆ˜๋Š” ์ฃผ์–ด์ง„ ์ˆซ์ž๋“ค ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

developer.mozilla.org