7-3) Special Sort(구글 인터뷰)
문제
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
문제 풀이
코드
앞서 살펴봤던 버블정렬의 알고리즘을 사용한다. 두개씩 비교해서, 앞이 양수 뒤가 음수면 교환해주면 된다.

<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(arr){
                let answer=arr;
                for(let i=0; i<arr.length-1; i++){
                    for(let j=0; j<arr.length-i-1; j++){
                        if(arr[j]>0 && arr[j+1]<0){
                        [arr[j], arr[j+1]]=[arr[j+1], arr[j]];
                        }
                    }
                }
                return answer;
            }
            let arr=[1, 2, 3, -3, -2, 5, 6, -6];
            console.log(solution(arr));
        </script>
    </body>
</html>
참고
https://www.zerocho.com/category/Algorithm/post/57f67519799d150015511c38
Author And Source
이 문제에 관하여(7-3) Special Sort(구글 인터뷰)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@rladpwl0512/7-3-Special-Sort구글-인터뷰저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)