μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- position
- λΈλ‘κ·Έ
- float
- Flex
- useEffect
- λ°λΈμ½μ€3κΈ°
- Gatsby
- Props
- μκ³ λ¦¬μ¦
- λ°λΈμ½μ€
- νλ‘κ·Έλλ¨Έμ€
- μλ°μ€ν¬λ¦½νΈ
- history api
- CSS
- νλ‘ νΈμλ
- μ½λ©ν μ€νΈ
- useRef
- fetch API
- REACT
- Today
- Total
Daehyunii's Dev-blog
07 λ²λΈ μ λ ¬ λ³Έλ¬Έ
07 λ²λΈ μ λ ¬
Daehyunii 2022. 8. 6. 21:06μ§κΈ λΆν°λ μ λ ¬μ λν΄μ 곡λΆνλ €κ³ νλ€. μ λ ¬μ΄λ λ§ κ·Έλλ‘ λ°μ΄ν°λ₯Ό μΌμ ν κΈ°μ€μ κ°μ§κ³ μ¬λ°°μ΄νλ κ³Όμ μ λ§νλ€. μ λ ¬μ νλ λ°©μμλ λ§μ λ°©λ²μ΄ μ‘΄μ¬νκ³ κ°κ°μ μ λ ¬ μκ³ λ¦¬μ¦λ§λ€ μ₯/λ¨μ μ μ§λκ³ μλ€. λν μ λ ¬μ ν μ μλ λ§μ λ©μλλ€μ΄ μ‘΄μ¬νλ€. κ·Έλ¬ν λ©μλλ€μ μ νμ©νλκ²λ μ€μνκ² μ§λ§, κ·Έ λμ μ리λ₯Ό μλκ² λν κ΅μ₯ν μ€μν μΌμ΄λ€.
λνμ μ΄κ³ μΌλ°μ μΈ μ λ ¬ λ°©μμ΄ λ²λΈ μ λ ¬, μ ν μ λ ¬, μ½μ μ λ ¬μ΄ μκ³ κ·Έ λ€λ‘ ν¨μ¨μ±μ κ°μ μν¨ μ λ ¬ λ°©μλ€μ΄ μλ€. λ²λΈ μ λ ¬, μ ν μ λ ¬, μ½μ μ λ ¬μ ν¨μ¨μ±μ΄ λ¨μ΄μ Έ μ μ¬μ©λμ§λ μμ§λ§ νΉμ μν©μμλ μ μ©ν μ λ ¬λ°©μμΌ μ μλ€.
7.1 λ²λΈ μ λ ¬ : κ°μ
λ²λΈ μ λ ¬μ νν μ¬μ©λμ§λ μλλ€. λ€λ₯Έ μ λ ¬ μκ³ λ¦¬μ¦μ λΉν΄ λΉν¨μ¨μ μ΄κΈ° λλ¬Έμ΄λ€. νμ§λ§ λ€λ₯Έ μ λ ¬ μκ³ λ¦¬μ¦κ³Ό λΉκ΅νκΈ° μν΄μλ μμ λ νμκ° μλ€. λ²λΈ μ λ ¬μ μλ λ°©μμ 루νλ₯Ό λλ©΄μ κ° μμλ₯Ό ν΄λΉ μμμ κ·Έ λ€μ μμμ λΉκ΅νμ¬ μ€μνλ κ²μ΄λ€. μλ₯Ό λ€μ΄ μ€λ¦μ°¨μμΌλ‘ μ λ ¬νλ€λ©΄, ν΄λΉ μμκ° λ€μ μμλ³΄λ€ κ°μ΄ ν¬λ€λ©΄ ν΄λΉ μμμ λ€μ μμλ₯Ό κ΅νν΄ μ£Όλ κ²μ΄λ€.
κ²°κ΅ λ£¨νμ ν λ°ν΄κ° λλλ§λ€ κ°μ₯ ν° μμκ° κ°μ₯ μ€λ₯Έμͺ½μ μ λ ¬λκ² λ κ²μ΄λ€. μ¬κΈ°μ μ€μν μ μ 루νκ° ν λ°ν΄ λλλ§λ€ κ°μ₯ ν° μμκ° κ°μ₯ μ€λ₯Έμͺ½μ μ λ ¬λκΈ° λλ¬Έμ κ·Έ λ€μ 루νκ° λμκ°λλ κ°μ₯ μ€λ₯Έμͺ½μ μλ μμλ μ μΈνκ³ λλ¨Έμ§λ₯Ό λΉκ΅ν΄μΌ νλ€. μ¦, λ°λ³΅μ κ±°λν λλ§λ€ μ λ ¬ν΄μΌ νλ μμμλ μ€μ΄λ λ€λ κ²μ΄λ€!!
μ°μ λ²λΈ μ λ ¬μ ꡬννκΈ° μ μ μμλ₯Ό μ€μνλ λ°©λ²λΆν° μμμΌ νλ€.
ES5(κ°λ
μ±μ΄ μ’μ)
function swap(arr, idx1, idx2) {
var temp = arr[idx1];
arr[idx1] = arr[idx2]; // λ°°μ΄ μμ κ°±μ
arr[idx2] = temp; // λ°°μ΄ μμ κ°±μ
}
ES6(κ°λ
μ±μ λ¨μ΄μ§μ§λ§, μ½λκ° μ§§μ)
const swap = (arr, idx1, idx2) => {
[arr[idx1],arr[idx2]] = [arr[idx2],arr[idx1]];
}
μμλ₯Ό μ€μνλ λ°©λ²μ κ·Έλ κ² μ΄λ ΅μ§κ° μλ€. λ§ κ·Έλλ‘ νλμ μμλ₯Ό 미리 λ³μμ λ΄μλκ³ νλμ μμμ λ€λ₯Έ μμλ₯Ό ν λΉν΄μ£Όκ³ λλ¨Έμ§ μμμ λ³μμ 미리 λ΄μλμ μμλ₯Ό ν λΉν΄ μ£Όλ©΄ λλ€. ES5μ ES6μ½λ λ λ€ κ°μ μλ―Έμ΄μ§λ§ ννμ΄ μ‘°κΈ λ€λ₯΄κΈ° λλ¬Έμ λ νΈλ¦¬ν λ°©λ²μ μ¬μ©νλ©΄ λ κ² κ°λ€.
μμ¬μ½λ(κ°μ¬λμ΄ λ§λ€μ΄μ£Όμ¬)
1. ν¨μλ₯Ό μ μνμ¬ λ°°μ΄μ μΈμλ‘ λ°κ³ λ°°μ΄μ μμλ€μ μ«μλΌκ³ κ°μ νλ€.
2. iλΌλ λ³μλ₯Ό λ§λ€κ³ λ°°μ΄μ 맨 λμμ 루νλ₯Ό μμνμ¬ λ§¨ μμμ λλΈλ€.
3. 루ν μμλ μ€μ²© 루νκ° μκ³ jλ₯Ό λ³μλ‘ λ§λ€κ³ , λ΄λΆ 루νλ μ²μλΆν° i-1κΉμ§ λ°λ³΅λλ€.
4. arr[j]κ° arr[j+1]λ³΄λ€ ν¬λ€λ©΄ λ κ°μ μ€μνλ€.
5. κ·Έλ¦¬κ³ arrμ λ°ννλ€.
7.2 λ²λΈ μ λ ¬ : ꡬν
function bubbleSort(arr){
for(let i = arr.length ; i > 0 ; i--){
for(let j = 0 ; j < i - 1 ; j++){
if(arr[j] > arr[j+1]){
let temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp
}
}
}
return arr;
}
iλ₯Ό λμμλΆν° μμν΄μ λ°λ³΅μ νλ μ΄μ λ κ°μ₯ 루νκ° ν λ°ν΄ λλλ§λ€ κ°μ₯ μ€λ₯Έμͺ½μλ κ°μ₯ ν° μμ κ°μ΄ μ λ ¬μ΄ λμ΄ μκΈ° λλ¬Έμ λ μ΄μ λΉκ΅ ν νμκ° μκΈ° λλ¬Έμ ν΄λΉ μμλ₯Ό μ μΈνκ³ λΉκ΅νκΈ° μν΄ iλ₯Ό λμμ λΆν° λ°λ³΅μν€λ κ²μ΄λ€.
7.2 λ²λΈ μ λ ¬ : μ΅μ ν
λ²λΈ μ λ ¬μ νμλ μμ μ½λμ λ¬Έμ μ μ λ§μ½ λ°°μ΄μ΄ μ λ ¬μ΄ λλΆλΆ μ΄λ€μ Έ μκ³ μΌλΆλΆλ§ μ λ ¬μ΄ λμ΄ μμ§ μλ€κ³ μκ°ν΄λ³΄μ. κ·Έλ° κ²½μ°μλ μ€μμ΄ μΌμ΄λμ§ μμλΏ λ°λ³΅μ κ³μν΄μ μΌμ΄λ κ²μ΄λ€. μ΄λ λΉν¨μ¨μ μ΄λ μ΄λ₯Ό ν΄κ²°νκΈ° 루νκ° λλ μμ€μ λ¨ ν λ²μ΄λΌλ μ€μμ΄ μΌμ΄λμ§ μμλ€λ©΄ λ°λ³΅μ κ·Έλ§λλ 쑰건μ λ¬λ©΄ λλ κ²μ΄λ€. λ°λ³΅μ΄ λ¨ ν λ²λ μΌμ΄λμ§ μμλ€λ κ²μ λ°λλ‘ λ§νλ©΄ λ μ΄μ μ€μν μμκ° μλκ²μ΄κ³ μ λ ¬μ΄ μλ£λμ΄ μλ€λ κ²μ΄κΈ° λλ¬Έμ΄λ€.
function bubbleSort(arr){
let noSwap;
for(var i = arr.length; i > 0; i--){
noSwap = true; // μ΅μ νλ₯Ό μν΄ λΉκ΅ν΄μΌ ν μμμ κ°μλ₯Ό νλμ© μ€μ¬λκ°
for(var j = 0; j < i - 1; j++){ // μμμ λΆν° ν΄λΉμμμ κ·Έ λ€μ μμλ₯Ό λΉκ΅ν΄μ μ€μ
if(arr[j] > arr[j+1]){
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
noSwap = false;
}
}
if(noSwap) break; // μ¦ νλ°ν΄ μ λμλλ°, κ΅νμ΄ μΌμ΄λμ§ μμΌλ©΄ κ·Έλλ‘ trueμΌ κ²μ΄κ³ , κ·ΈλΌ λ μ΄μ
//λ°κΏκ² μλ κ±°λκΉ μ 체 λ°λ³΅μ μ’
λ£ν¨!!!
}
return arr;
}
μ°Έκ³ λ‘, μ€μλ¬Έμ ES6μ λ°©μμΌλ‘ ꡬνν΄λ μκ΄μλ€. κ°μΈμ μΌλ‘ μ½λ μ€ μλ ν¬κ² μ°¨μ΄κ° λμ§ μκ³ , ES5μμμ μ€μλ°©μμ΄ κ³΅λΆνλ μ μ₯μμ μ‘°κΈ λ μ§κ΄μ μ΄λΌ ES5λ°©μμ μ΄μ©νμ¬ μ€μνλ μ½λλ₯Ό μμ±νμλ€.
'π Language & CS knowledge > Algorithm & Data structure' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
09 μ½μ μ λ ¬ (0) | 2022.08.07 |
---|---|
08 μ ν μ λ ¬ (0) | 2022.08.07 |
06 κ²μ μκ³ λ¦¬μ¦ (0) | 2022.08.05 |
05 μ¬κ· (0) | 2022.08.04 |
04 λ¬Έμ ν΄κ²° ν¨ν΄ (0) | 2022.08.04 |