관리 메뉴

Daehyunii's Dev-blog

버블 μ •λ ¬ μ‘μš© λ³Έλ¬Έ

πŸ“š Language & CS knowledge/Algorithm (κΈ°μ΄ˆλ¬Έμ œν’€μ΄)

버블 μ •λ ¬ μ‘μš©

Daehyunii 2022. 9. 6. 19:01

문제(좜처 : μΈν”„λŸ° μžλ°”μŠ€ν¬λ¦½νŠΈ μ•Œκ³ λ¦¬μ¦˜ λ¬Έμ œν’€μ΄ κ°•μ˜, μ •λ³΄μ˜¬λ¦Όν”Όμ•„λ“œ)

N개의 μ •μˆ˜κ°€ μž…λ ₯되면 당신은 μž…λ ₯된 값을 μ •λ ¬ν•΄μ•Ό ν•œλ‹€.
음의 μ •μˆ˜λŠ” μ•žμͺ½μ— μ–‘μ˜μ •μˆ˜λŠ” λ’·μͺ½μ— μžˆμ–΄μ•Ό ν•œλ‹€. λ˜ν•œ μ–‘μ˜μ •μˆ˜μ™€ μŒμ˜μ •μˆ˜μ˜ μˆœμ„œμ—λŠ” 변함이 μ—†μ–΄μ•Ό ν•œλ‹€.

β–£ μž…λ ₯μ„€λͺ…
첫 번째 쀄에 μ •μˆ˜ N(5<=N<=100)이 주어지고, κ·Έ λ‹€μŒ 쀄뢀터 음수λ₯Ό ν¬ν•¨ν•œ μ •μˆ˜κ°€ 주어진 λ‹€. 숫자 0은 μž…λ ₯λ˜μ§€ μ•ŠλŠ”λ‹€.

 

β–£ 좜λ ₯μ„€λͺ…
μ •λ ¬λœ κ²°κ³Όλ₯Ό 좜λ ₯ν•œλ‹€.

 

β–£ μž…λ ₯예제 1
8
1 2 3 -3 -2 5 6 -6

 

β–£ 좜λ ₯예제 1
-3 -2 -6 1 2 3 5 6

 

 

Tip

1) 숫자끼리 μ„œλ‘œ λΉ„κ΅ν•˜μ—¬ μŒμˆ˜κ°€ μ–‘μˆ˜λ³΄λ‹€ 뒀에 있으면 μŠ€μ™‘ν•˜λ©΄ λœλ‹€.(μ΄μ›ƒν•œ 숫자끼리 λΉ„κ΅ν•΄μ„œ μ •λ ¬)

 

λ¬Έμ œν’€μ΄

//λ‚΄κ°€ μž‘μ„±ν•œ λ‹΅
function solution(arr){
    answer = arr;

    for(let i = 0 ; i < arr.length - 1 ; i++){
        for(let j = 0 ; j < arr.length - 1 - i ; j++){
            if(arr[j] > 0 && arr[j+1] < 0){
                [arr[j],arr[j+1]] = [arr[j+1],arr[j]];
            }
        }
    }
    return answer;
}

let array = [1,2,3,-3,-2,5,6,-6];
console.log(solution(array));