π Today Question
Selection Sort(μ νμ λ ¬): μ νμ λ ¬μ μ λ ¬λμ§ μμ λ°μ΄ν° μ€ κ°μ₯ μμ λ°μ΄ν°λ₯Ό μ νν΄μ 맨 μμμλΆν° μμλλ‘ μ λ ¬ν΄ λκ°λ μκ³ λ¦¬μ¦μ λλ€. μ ν μ λ ¬ μκ³ λ¦¬μ¦μ μ¬μ©νμ¬ λ¬Έμ λ₯Ό νμ΄λ³΄μΈμ.
βοΈ Problem Statement
numsλΌλ μ λ ¬λμ§ μμ μ«μ λ°°μ΄μ μ£Όλ©΄, μ€λ¦μ°¨μ(1,2,3..10) μΌλ‘ μ λ ¬λ λ°°μ΄μ returnν΄μ£ΌμΈμ.
β Check Point 1
: μ ν μ λ ¬μ 첫 λ²μ§Έ μλ£λ₯Ό λ λ²μ§Έ μλ£λΆν° λ§μ§λ§ μλ£κΉμ§ μ°¨λ‘λλ‘ λΉκ΅νμ¬ κ°μ₯ μμ κ°μ μ°Ύμ 첫 λ²μ§Έμ λκ³ , λ λ²μ§Έ μλ£λ₯Ό μΈ λ²μ§Έ μλ£λΆν° λ§μ§λ§ μλ£κΉμ§μ μ°¨λ‘λλ‘ λΉκ΅νμ¬ κ·Έ μ€ κ°μ₯ μμ κ°μ μ°Ύμ λ λ²μ§Έ μμΉμ λλ κ³Όμ μ λ°λ³΅νλ©° μ λ ¬μ μννλ€.
β Check Point 2
: 1νμ μ μννκ³ λλ©΄ κ°μ₯ μμ κ°μ μλ£κ° 맨 μμ μ€κ² λλ―λ‘ κ·Έ λ€μ νμ μμλ λ λ²μ§Έ μλ£λ₯Ό κ°μ§κ³ λΉκ΅νλ€. λ§μ°¬κ°μ§λ‘ nνμ μμλ nλ²μ§Έ μλ£λ₯Ό μ λ ¬νλ€.
β Check Point 3
: μ₯μ -μλ£ μ΄λ νμκ° λ―Έλ¦¬ κ²°μ λλ€.
: λ¨μ -κ°μ κ°μ΄ μλ κ²½μ° μλμ μΈ μμΉκ° λ³κ²½λ μ μκΈ° λλ¬Έμ μμ μ±μ΄ λ§μ‘±λμ§ μλλ€.
π
const selectionSort = (nums) => {
for (let i = 0; i<nums.length; i ++) {
let min = i;
for (let j = i+1; j<nums.length; j++){
if (nums[min]>nums[j]){
min = j;
}
}
if (min!==i){
let change = nums[min];
nums[min] = nums [i];
nums[i] = change;
}
}
return nums;
}
β μ λ ¬ μκ³ λ¦¬μ¦μ 곡λΆν΄μΌνλ μ΄μ λ ν¨μ¨μ μΈ νμμ μν΄μμ΄λ€. νμν΄μΌνλ λ°μ΄ν°κ° μ λ ¬λμ΄ μμ§ μλ€λ©΄ μ‘°ν, μ½μ , μμ λ±μ μλ£μ λν μ κ·Ό μ©μ΄μ±μ΄ λ¨μ΄μ§λ€. μ λ ¬ μκ³ λ¦¬μ¦μ 무μνλ©° μ΄λ μκ° λ³΅μ‘λ, κ³΅κ° λ³΅μ‘λλ₯Ό ν΄κ²°νλλ° λͺ©νλ₯Ό λλ€.