공지: 기존 사이트는 old.codingdojang.com에서 확인할 수 있으며, 2026년 8월 3일 종료됩니다.
이 페이지는 코딩도장 데이터의 읽기 전용 정적 보관본입니다.

Special Sort

출처 : http://www.careercup.com/question?id=5201559730257920

구글 전화면접 문제


n개의 정수를 가진 배열이 있다. 이 배열은 양의정수와 음의 정수를 모두 가지고 있다. 이제 당신은 이 배열을 좀 특별한 방법으로 정렬해야 한다.

정렬이 되고 난 후, 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다. 또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다.

예. -1 1 3 -2 2 ans: -1 -2 1 3 2.

면접문제

2014/03/03 13:15

pahkey

679개의 풀이가 있습니다.

음, 양의 정수를 각각 필터링해 모은 두 리스트를 합칩니다. 구글은 파이썬을 좋아하긴 하나 보네요.

def do(alist):
    return [x for x in alist if x < 0] + [x for x in alist if x >= 0]

print do([-1, 1, 3, -2, 2])

근데 문제가 너무 간단한데 왠지 in-place로 풀어야하는 제약이 있는게 합당해보입니다. 그렇다고 하면 위에 이인욱님께서 푸신 방법이 맞습니다. (아마존 면접문제하고도 비슷하네요)

2014/12/11 18:19

룰루랄라

저는 필터로 했는데, 리스트 컴프리헨션으로 푸는것이 훨씬 깔끔하네요^^ - 디디, 2016/03/21 23:55
list = [1, 2, 3, 4, 5, -5, -4, -3, -2, -1]

def sort_item(list):
    t1, t2 = [], []
    for i in list:
        if i < 0:
            t1.append(i)
        else:
            t2.append(i)
    result = t1 + t2
    return result

print sort_item(list)

가장 단순한 답 제출합니다 ㅋ

2014/03/13 17:26

Lee Chan

0이 있으면 이상해지네요. - ptjddn95, 2020/04/19 17:30

자바코드입니다. 버블정렬에서 swap의 조건문만 살짝 바꿔서 풀어보았습니다.


public class Test{
    public static void main(String args[]) throws Exception{
        int[] list = {-1,1,-3,3,-2,2,4};
        int length = list.length-1;
        for(int i=0; i<length; i++){
            for(int j=0; j<(length-i); j++){
                if(list[j] > 0 && list[j+1] < 0){
                    int k = list[j];
                    list[j] = list[j+1];
                    list[j+1] = k;
                }
            }
        }
        for(int k : list) {
            System.out.print(k+" ");
        }
    }
}

2014/03/03 14:34

이 인욱

뭐야 저랑 완전 똑같네요 ㅋㅋ - 정몽준, 2018/05/05 12:31

너무 1차원적이 풀이지만 올려봅니다^^; 파이썬입니다

_input = [-1, 1, 3, -2, 2]

alist  = []
blist  = []

for n in _input:
    if n < 0:
        alist.append(n)
    else:
        blist.append(n)

print(alist + blist)

2014/03/13 14:06

무명소졸

import java.util.*;

public class SpecialSort { //JAVA

    private static Scanner scan = new Scanner(System.in);
    private static String strSort = new String();
    private static String[] sorts = null;

    public static void main(String[] args) {

        System.out.println("n개의 정수를 가진 배열을 입력하시오: ");

        strSort = scan.nextLine();
        sorts = strSort.split(" ");

        for(String sort : sorts) if( sort.startsWith("-") ) System.out.print(sort + " ");
        for(String sort : sorts) if( !sort.startsWith("-") ) System.out.print(sort + " ");
    }

}

Console

n개의 정수를 가진 배열을 입력하시오: 
-1 1 3 -2 2
-1 -2 1 3 2 

2017/12/18 11:59

장민호

#include <stdio.h>

int main(void)

{
    int aList[5] = {-1,1,3,-2,2 };

    int i = 0, j = 0, cnt = 1;

    int nTmp = 0;

    for (i = 0; i < 5 - 1; i++)
    {
        for (j = i + 1; j < 4; j++)
        {

            if (aList[j] < 0)
            {
                if (aList[i] < aList[j] && aList[i] < 0)
                {
                    nTmp = aList[i];
                    aList[i] = aList[j];
                    aList[j] = nTmp;
                }

                else if (aList[i] > aList[j] && aList[i] > 0)
                {
                    nTmp = aList[i];
                    aList[i] = aList[j];
                    aList[j] = nTmp;
                }

            }
        }
    }

    return 0;
}

알고리즘 못해요 ㅠㅠ (잉여잉여..)

2015/11/12 01:06

Newbi_Hj

list1 =  [-1, 1, 3, -2, 2]
print([i for i in list1 if i < 0] + [i for i in list1 if i > 0])

2018/05/19 15:41

재즐보프

(defn special-sort [& lst]
  (let [{neg false, pos true} (group-by pos? lst)]
    (concat neg pos)))

Clojure 코드입니다. ^^

2014/03/03 15:29

박연오

놀랍네요, group-by 가 아주 쉽게 되는군요.. - pahkey, 2014/03/03 15:50

좀 더 pythonic 하게 만들려고 노력했습니다. (0은 양의정수 취급했습니다.)

def special_sort(s):
    v = map(int, s.split())
    return " ".join(map(str, filter(lambda a:a<0, v)
        +filter(lambda a:a>=0, v)))

print special_sort("-1 1 3 -2 2") 

결과: -1 -2 1 3 2

2014/03/14 00:04

pahkey

혼자서 끙끙거리면서 해보다가 이 코드를 보고 깨달았습니다ㅠㅠ 감사합니다 - 김주경, 2022/08/04 18:19

coding by python beginner

t0 = [-1, 1, 3, -2, 2]
l1, l2 = [], []
for i in range( len(t0) ):
    if t0[i] < 0: l1.append( t0[i] )
    else: l2.append( t0[i] )
print( l1 + l2 )

2015/01/23 22:35

vegan

Ruby

몇가지 풀이 추가.

p [-1,1,3,-2,2].partition {|_|_<0}*', ' 
p [-1,1,3,-2,2].partition {|_|_<0}.flatten 
p [-1,1,3,-2,2].partition {|_|_<0}.reduce :concat 
p [-1,1,3,-2,2].group_by {|_|_<0}.flat_map(&:last)
p [-1,1,3,-2,2].select {|_|_<0} + a.select{|e|e>=0}
a = [-1,1,3,-2,2]; n = a.select {|_|_<0}; p n+(a-n)
p [-1,1,3,-2,2].group_by{|_|_<0}.map(&:last).flatten
p [-1,1,3,-2,2].group_by(&:negative?).flat_map(&:last)
p [-1,1,3,-2,2].reduce ([[],[]]) {|a,n| a[n<0?0:1]<< n; a}.flatten

2016/02/12 19:28

rk

sample = [-1, 1, 3, -2, 2];li1 = [];li2 = []
for x in sample:
    if x<0:li1.append(x)
    elif x>0:li2.append(x)
print (li1+li2)

파이썬 3.5.1

2016/03/14 23:39

Flair Sizz

파이썬 초보입니다. 어떤분이 리스트 컴프리핸션으로 구현하는것이 짧다고 해서 한번 구현해보았습니다.

numbers=[ -1, -1, 3, -2, 2, 5, -9, 0, -10 ]

newlist_minus =[i for i in numbers if i<0]
newlist_plus =[i for i in numbers if i>=0]
print(newlist_minus+newlist_plus)

2017/12/26 11:41

Lee Soojin

a = [-1,1,3,-2,2] b=[];c=[] for i in range(len(a)): if a[i] < 0: b.append(a[i]) else : c.append(a[i])

print(b+c)

2018/08/10 13:54

로봇

Python

list = [-1, 1, 3, -2, 2]

a_list=[]
b_list=[]

for i in list:
    if i < 0:
        a_list.append(i)
    elif i > 0:
        b_list.append(i)

print(a_list + b_list)

2020/12/26 18:33

신동걸

n = [-1,1,3,-2,2]

n1 = [] n2 = []

for i in n: if i < 0: n1.append(i) else: n2.append(i)

print(n1 + n2)

2022/02/28 16:33

김태현

// SP_SpecialSort.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.
//

#include "stdafx.h"
#include <string.h>
int g_nData[] = { -1, 1, 3, -2, 2};
void SpecialSort(int* pData,int nSize)
{
    int *pnTemp = new int[nSize];
    int nPIndex = nSize-1;
    int nNIndex = 0;
    for(int iter = 0; iter < nSize ; iter ++)
    {
        if(pData[iter] < 0)
        {
            pnTemp[nNIndex] = pData[iter];
            nNIndex ++;
        }
        if(pData[nSize - iter - 1] >= 0)
        {
            pnTemp[nPIndex] = pData[nSize - iter - 1];
            nPIndex --;
        }
    }
    memcpy(pData,pnTemp,sizeof(int)*nSize);
}
int _tmain(int argc, _TCHAR* argv[])
{   
    int nSize = sizeof(g_nData)/sizeof(int);
    SpecialSort(g_nData,nSize);
    for(int iter = 0 ; iter < nSize ; iter ++)
    {
        printf("%d ",g_nData[iter]);
    }
    return 0;
}

2014/03/03 13:40

김 영남

Ruby

def sort(nums); nums.group_by{|i|i<0}.inject([]){|s,v|s+v[1]}; end;

2014/03/03 18:02

nacyot

파이썬 2.7.6입니다.

def s_sort(input):
    input_list = map(int, input.split())
    p_list = []
    m_list = []
    for i in input_list:
        if i >= 0:
            p_list.append(i)
        else:
            m_list.append(i)
    result = m_list + p_list
    return result

print s_sort("-1 1 3 -2 2")

입력에 0이 포함되는지 포함될 경우 어떻게 처리하는지에 대하여는 명확하지 않네요.

초보입니다. 지적 바랍니다.

2014/03/13 11:49

deukey

아, 그렇군요, 0인 경우 좀 애매하네요.. - pahkey, 2014/03/13 12:28
굳이 map 함수를 안 쓰고 list로 루프를 돌려도 될 것 같네요. 위 코드는 입력이 문자열이라 map 함수 쓰신거 같은데, 결과는 list로 나오거든요. 결과도 문자열로 하시려면, str(리턴값).strip('[,]') 이렇게 해야 할 것 같네요 저도 초보라 더 나은 방법은 모르겠어요;; - 승학, 2014/03/13 12:28
0 값은 elif 한번 더 써서 다른 list로 저장 후 result 에 넣을 때, 중간에 넣으면 될 것 같아요 - 승학, 2014/03/13 12:29
피드백 감사합니다. 그리고 말씀대로 결과도 문자열로 주는 것이 일관성 있겠네요. - deukey, 2014/03/13 13:27
c(v[v<0], v[v==0], v[v>0])

R로 풀었습니다. 0일 경우 그냥 양수와 음수 사이에 오도록 했습니다. 결과입니다

> v=c(1,-5,-2,0,3,-1,2,5,0,-6)
> c(v[v<0], v[v==0], v[v>0])
 [1] -5 -2 -1 -6  0  0  1  3  2  5

2014/03/13 12:49

한 성탁

놀랍네요.. 이렇게 심플할수가요...ㅋ - pahkey, 2014/03/13 12:51
R 이 이렇게 직관적인줄 몰랐습니다. R 을 배워보고 싶다는 생각이 마구... - 예강효빠, 2017/05/26 00:45

Java입니다.

        int[] in={-1,1,3,-2,2,0,0,4,100,-21,0};
        int l=in.length, i;
        for(i=0;i<l;i++) if(in[i]<0) System.out.print(in[i]+" ");
        for(i=0;i<l;i++) if(in[i]==0) System.out.print(in[i]+" ");
        for(i=0;i<l;i++) if(in[i]>0) System.out.print(in[i]+" ");

그냥 이렇게 하면 되네요 ㅋㅋㅋ

#출력예시
-1 -2 -21 0 0 0 1 3 2 4 100 

혹은, 다른 풀이 (요건 작성해놓고 아까워서 올려요 ㅎㅎ)

package h_Special_Sort;
public class SpecialSort {
    public static void main(String[] args) {
        int[] in={-1,1,3,-2,2,0,0,4,100,-21,0};
        int l=in.length, i,j,k, count0=0;
        int[] n={0,0};
        int[][] arr=new int[2][l]; //arr[0][]:음수,arr[1][]:양수

        for(i=0;i<l;i++){
            if(in[i]<0) arr[0][n[0]++]=in[i];
            else if(in[i]>0) arr[1][n[1]++]=in[i];
            else if(in[i]==0) count0++;
        }

        for(j=0;j<2;j++) for(i=0;i<n[j];i++){
            System.out.print(arr[j][i]+" ");
            if(j==0 && i+1==n[j] && count0>0) for(k=0;k<count0;k++) System.out.print(0+" ");
        }
    }
}

2014/03/14 03:01

Katherine

python 2.4 입니다.


def s_sort(arg_list):
    negative_n = []
    positive_n = []

    for n in arg_list:
        val = int(n)
        if val < 0 :
            negative_n.append(val)
        else:
            positive_n.append(val)

    return negative_n + positive_n

def main():
    arg_val = raw_input("input >>")

    print s_sort(arg_val.split())

if __name__ == '__main__':
    main()

입력 받은 값을 리스트에 넣어준뒤에 0보다 작은 값이 들어갈 negative_n과 0 또는 0 이상의 값이 들어갈 positive_n에 분기하여 넣어주고 마지막에 하나로 합쳐주는 형식으로 해결했습니다.

2014/04/02 16:46

KwonH

python 3.4 입니다.

import unittest

def method1(unsorted):
    minus_items = gather_minus(unsorted)
    plus_items = gather_plus(unsorted)

    sorted = minus_items + plus_items

    return sorted

def gather_plus(items):
    plus_items = [item for item in items if item > 0]
    return plus_items

def gather_minus(items):
    minus_items = [item for item in items if item < 0]
    return minus_items

class TestSpeicalSort(unittest.TestCase):
    def test_solution(self):
        self.assertEqual(method1([-1, 1, 3, -2, 2]), [-1, -2, 1, 3, 2])

    def test_gather_plus(self):
        self.assertEqual(gather_plus([-1, 2, 3, 4, -2]), [2, 3, 4 ])

    def test_gather_minus(self):
        self.assertEqual(gather_minus([-1, 2, 3, 4, -2]), [-1, -2])

if __name__ == "__main__":
    unittest.main()

2014/07/24 09:30

이 정구

저도 bubble sort가 생각나어 바로 적용했습니다.

public class SpecialSort {

    public static void main(String[] args) {
        int[] data = {-1, 1, 3, -2, 2};
        int length = data.length - 1;

        int[] specialSort = specialSort(data, length);
        for(int i=0; i<specialSort.length; i++){
            System.out.printf("%d ", specialSort[i]);
        }
    }

    private static int[] specialSort(int[] data, int length) {
        for(int i=0; i<length-1; i++){
            for(int k=0; k<length-i; k++){
                if(data[k] > 0 && data[k+1] < 0){
                    int temp = data[k];
                    data[k] = data[k+1];
                    data[k+1] = temp; 
                }
            }
        }
        return data;
    }
}

2014/07/29 00:08

전 수현

파이썬 3.4 입니다.

def special_sort(data):
    data.sort()
    result=[]
    for x in data:
        if x >= 0:
            result.append(x)
    for x in data:
        if x < 0:
            result.insert(0,x)
    result=" ".join(map(str,result))
    return result

data = list(map(int,input("각 숫자를 스페이스로 구분하여 한줄에 입력하시오.\n").split()))

print(special_sort(data))

2014/09/24 19:18

돌구늬ㅋ~썬

// C# 입니다.
using System;

class Program
{
    static int[] numbers = new int[] { 6, -1, 1, 3, -2, 2 };

    static void Main()
    {
        for (var i = 1; i < numbers.Length; i++)
        {
            if (numbers[i] > 0)
            {
                continue;
            }
            for (var k = i; k > 0; k--)
            {
                if (numbers[k - 1] * numbers[k] > 0)
                {
                    break;
                }
                SwitchValue(numbers, k - 1, k);
            }
        }
        foreach (var aNumber in numbers)
        {
            Console.Write(aNumber + "  ");
        }
        Console.WriteLine("");
    }

    static void SwitchValue(int[] array, int first, int second)
    {
        int temp = array[first];
        array[first] = array[second];
        array[second] = temp;
    }
}

2014/09/29 16:43

보헤미안

#include <stdio.h>
#include <conio.h>


#define ArrSize(n) sizeof(n)/sizeof(n[0])


void main() {
    int Arr[10];
    int temp;
    for(int i = 0; i < ArrSize(Arr); i++) {
        scanf("%d", &Arr[i]);
    }
    for(int i = 0; i < ArrSize(Arr) - 1; i++) {
        for(int j = 0; j < ArrSize(Arr) - 1; j++) {
            if(Arr[j+1] < 0 && Arr[j] > 0) {
                temp = Arr[j];
                Arr[j] = Arr[j+1];
                Arr[j+1] = temp;
            }
        }
    }
    for(int i = 0; i < ArrSize(Arr); i++) { 
        printf("%d ", Arr[i]);
    }
    _getch();
}

2014/10/17 15:46

좋은게좋은거

ruby

a = [-1, 1, 3, -2, 2]

b = []
c = []
a.each do |ab|
  if ab < 0
    b << ab
  else
    c << ab
  end

end

d = b + c

2014/11/12 01:27

Cha Semo

python 입니다. 풀이가 생각보다 단순했습니다.

import unittest

def func(l):
  m, p = [], []
  for i in range(len(l)):
    if l[i]<0 : m.append(l[i])
    else : p.append(l[i])
  return m+p 

class Test(unittest.TestCase):
  def test1(self):
    self.assertEqual([-1, -2, 1, 3, 2], func([-1, 1, 3, -2, 2]))

if __name__ == "__main__":
  unittest.main()

2015/01/08 17:26

Sang Brian

요렇게 하면 되지 않을까요? 문제의 의도가 stable, unstable 개념을 알고 있느냐를 묻는 것 같은데요?

 * stable sort인 merge sort를 사용한다.
   quick sort는 unstable sort 이기 때문에 사용할 수 없다.
 * 단, 비교 조건을 다음과 같이 바꾼다.
   음수와 음수 간에 비교는 equal을 리턴
   양수와 양수 간에 비교는 equal을 리턴
   음수와 양수 간에 비교는 음수<양수를 리턴

Complexity는 merge sort이기 때문에 당연히 time=O(n log n), space=O(n) 입니다.

2015/01/13 19:19

Hank

Using python 코드가 너무 짧아서 a 생성하는 코드까지 붙여버렸습니다...허..

from random import randint

a = []
for i in xrange(10):
    a.append(randint(-10,20))

def sSort(a):
    return [x for x in a if x<0]+[x for x in a if x>0]
print sSort(a)

2015/03/31 23:50

freeefly

#data
array = [-1, 1, 3, -2, 2]


#처리
def ssort(src):
    nlist = []
    plist = []
    for n in array:
        if n < 0 :
            nlist.append(n)
        else:
            plist.append(n)
    return nlist+plist


#입출력
print(ssort(array))

2015/04/04 03:24

zerofury

C로 풀었습니다.

int arr[]={-1, 1, 3, -2, 2};
    int i, j, temp;

    for(i=0; i<ARR_SIZE; i++)
        for(j=0; j<ARR_SIZE-i; j++){
            if(arr[j]>0 && arr[j+1] < 0){
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }

2015/05/12 15:36

JS.LIM

흠 일단 코더처럼 만들긴했는데, 시간복잡도 같은걸 이해하려면 알고리즘 공부를 좀해야겠어요...

#414.py
lists=[-4 ,-7, -1, 0, 3, 99, -1,1]
minus=[]
notminus=[]
for x in lists:
    if x<0:
        minus.append(x)
    else:
        notminus.append(x)

print minus+notminus

2015/05/13 15:02

심재용

    Sub main()
        Dim arr() As Integer = Array.ConvertAll(Split(Console.ReadLine, " "), Function(d As String) CInt(d))
        arr = arr.Where(Function(n As Integer) n < 0).OrderByDescending(Function(d As Integer) d).ToArray.Union(arr.Where(Function(n As Integer) n >= 0).ToArray).ToArray

        Console.WriteLine(String.Join(" ", arr))

        Console.ReadLine()
    End Sub

Linq를 사용하여 음수부분배열을 가져오고 내림차순으로 정렬뒤 정수부분배열과 합쳤습니다.

2015/06/13 11:57

Steal

파이썬을 공부하고 있어서 파이썬으로 머지소트를 살짝 응용해 보았습니다.

import math

def gsort(data, start, end):
    if end - start == 0:
        return
    else:
        gsort(data, start, math.floor((end + start) / 2))
        gsort(data, math.floor((end + start) / 2) + 1, end)
        gsort_merge(data, start, math.floor((end + start) / 2), end)

def gsort_merge(data, start, mid, end):
    tmp = []
    i = start
    j = mid + 1

    while i <= mid:
        if data[i] < 0:
            tmp.append(data[i])
        else:
            break
        i += 1

    while j <= end:
        if data[j] < 0:
            tmp.append(data[j])
        else:
            break;
        j += 1

    while i <= mid:
        tmp.append(data[i])
        i += 1

    while j <= end:
        tmp.append(data[j])
        j += 1

    data[start:end+1] = tmp;


if __name__ == "__main__":
    #data = [-1, -3, 1, 3, -2, 2]
    data = [ -1, 1, 3, -2, 2]
    gsort(data, 0, len(data) - 1)
    print(data)

2015/07/23 15:28

코드아크메이지

print("Please insert a string including arbitrary numbers.\nEach number can be negative or positive, \nbut they have to be split by a comma(',').")
alist = input()

splitter = (',')
palette = alist.split(splitter)
for i in range(0, len(palette)):
    palette[i] = int(palette[i])
negalist = []; posilist = []

for ii in range(0, len(palette)):
    if (palette[ii]) > 0:
        posilist.append(str(palette[ii]))
    elif (palette[ii]) < 0:
        negalist.append(str(palette[ii]))
    else:
        continue

print((" ".join(negalist)) + " " + (" ".join(posilist)))

그냥 리스트를 입력받아서 변환 후 값을 대응하는 식으로 했습니다!

2015/09/15 22:28

박재우

Swift로 문제 풀어보았습니다.

let l = [-1, 1, 3, -2, 2]
let r = l.filter { $0 < 0 } + l.filter { $0 >= 0 }
print(r) // [-1, -2, 1, 3, 2]

2015/10/08 00:26

Ahn Jung Min

다른 분들하고 코드가 너무 비슷하네요

def SpSort(a) : 
 am = []
 ap = []

 for i in a:
    if i < 0 : am.append(i)
    else : ap.append(i)

 return am + ap


print SpSort ([-1, 1, 3, -2, 2] )

2015/10/29 10:19

Kim JungRae

C#으로 작성했습니다. BucketSort를 이용하여 두개의 버킷 0보다 작은 숫자와 0 혹은 그 이상의 버킷에 담고 그대로 inputs에 넣었습니다.

using System.Collections.Generic;

        public void SpecialSort(List<int> inputs)
        {
            if (inputs.Count <= 1) return;
            var buckets = new List<int>[2];
            for (int i = 0; i < inputs.Count; i++)
            {
                var temp = inputs[i] < 0 ? 0 : 1;
                if (buckets[temp] == null) buckets[temp] = new List<int>();
                buckets[temp].Add(inputs[i]);
            }
            var k = 0;
            for (int i = 0; i < buckets.Length; i++)
            {
                if (buckets[i] == null) continue;
                for (int j = 0; j < buckets[i].Count; j++)
                    inputs[k++] = buckets[i][j];
            }
        }

2015/12/01 13:21

Straß Böhm Jäger

파이썬 2.7

data = [-1, 5, 4, -2, 2,- 7]

pos_num = sorted([x for x in data if x > 0]) # 양의 정수만을 선택하여 정렬

result = sorted([x for x in data if x < 0])  # 음의 정수만을 선택하여 정렬
result.reverse()  # 정렬된 음의 정수를 뒤집는다.

result.extend(pos_num)  # 음의 정수의 끝에 양의 정수를 넣는다.

for i in result:
    print i,

2015/12/31 11:55

hana11

sample_array = [-1, 1, 3, -2, 2]

sorted_array = [x for x in sample_array if x < 0 ] + [x for x in sample_array if x >= 0]
print(sorted_array)

2015/12/31 12:06

SPJung

  • python으로 작성하였습니다.
s=[-1,1,3,-2,2]

sMns=filter(lambda x: x<0,s)
sPls=filter(lambda x: x>0,s)

print " ".join(str(i) for i in sMns+sPls)

2016/01/08 11:12

씨니컬우기님

print [x for x in p if x<0]+[x for x in p if x>=0]

2016/01/18 12:21

상파

음. 리스트를 가정하고(배열) 풀었습니다. for문 2번써서 음수먼저 리스트에 넣고, 그 후에 양수를 삽입하였습니다.

def special_sort(input1):
    a=[]
    for i in input1:
        if i<0:
            a.append(i)
    for i in input1:
        if i>0:
            a.append(i)
    return a


input1 = [-1,1,3,-2,2]
print special_sort(input1)

2016/02/03 02:45

UNIST_BA

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define Arrlen 5

void PrintArr(int arr[]);
void SpecialSort(int arr[]);

int main(void){
        srand((unsigned)time(NULL));
        int i;
        int arr[Arrlen];
        for(i=0;i<Arrlen;i++)
                arr[i]=rand()%20-10;
        PrintArr(arr);
        SpecialSort(arr);
        PrintArr(arr);
}

void PrintArr(int arr[]){
        int i;
        for(i=0;i<Arrlen;i++)
                printf("%4d",arr[i]);
        printf("\n");
}

void SpecialSort(int arr[]){
        int inspect,tmp,negativenum=0,i;
        for(inspect=0;inspect<Arrlen;inspect++){
                if(arr[inspect]<0){
                        for(i=inspect;i>negativenum;i--){
                                tmp=arr[i];
                                arr[i]=arr[i-1];
                                arr[i-1]=tmp;
                        }
                        negativenum++;
                }
        }
}

한가지 배열 말고도 여러가지 배열로 실험해 보기 위해서 난수함수를 사용해봤어요~~

2016/02/11 20:39

김종헌

C# 입니다. One Loop으로 인소트를 활용하여 처리해보았습니다.
0이나 음의 수를 넣을 타겟 인덱스를 정의하여 인덱스에 같은 수를 추가후 기존의 아이템을 제거하였습니다.
타겟 인덱스는 0과 음수의 경계선을 가리키도록 하기위해, 음수가 나오면 증가시키고, 0이 나오면 증가시키지 않았습니다.
사실 리스트의 아이템 수정이 너무 잦게되면 대량의 리스트 처리시 너무 비효율적인데,
이미 많은 분들이 다양한 답을 내주셔서 할게 없었습니다 ㅎㅎ

List<int> nums = new List<int>() { -1, 1, 3, -2, 2, 0, -4 };
int t = 0;

for (int i = 0; i < nums.Count; i++)
{
    int num = nums[i];
    if (num > 0) continue;

    nums.RemoveAt(i);
    nums.Insert(t, num);
    if (num < 0) t++;
}
nums.ForEach(x => Console.Write(x + " "));

2016/02/14 14:36

이 우람

data=[-3,5,-4,2,1]
ans1=[]
ans2=[]
for i in data:
    if i < 0:
        ans1.append(i)
    else:
        ans2.append(i)
ans=ans1+ans2
print(ans)
파이썬 3.4

2016/02/26 17:49

lovegalois2

void sort(int [] arr) {
        ArrayList<Integer> list = new ArrayList<Integer>();

        for(int i=0; i<arr.length; i++) {
            if(arr[i] < 0) {
                list.add(arr[i]);
            }
        }

        for(int i=0; i<arr.length; i++) {
            if(arr[i] > 0) {
                list.add(arr[i]);
            }
        }
        System.out.print(list);
    }



    void sort2(int [] arr) {
        for(int i=0; i<arr.length; i++) {
            for(int j=0; j<arr.length-1; j++) {
                if(arr[j] > 0 && arr[j+1] < 0) {
                    int tmp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = tmp;
                }
            }
        }
        System.out.print(Arrays.toString(arr));
    }

java. 두가지로 풀어보았습니다.

2016/03/16 07:52

mozzi

파이썬3.4

# 예전 나의 풀이
# 2016/3/21
a = [-1, 1, 3, -2, 2]
m = list(filter(lambda x: x < 0, a))
p = list(filter(lambda x: x >= 0, a))
print(m + p)



# 2016/10/20
# 파이썬 내부의 sort 함수를 이용하되, 
# 비교방법을 다르게 정의해서 풀어봄
# 예전 어떤 문제에서 상파님의 풀이를 참고하였음
from functools import cmp_to_key as cmp

def f(a, b):
    if a<0 and b>0: return -1
    elif a>0 and b<0: return 1
    else: return 0

q = [-1, 1, 3, -2, 2]
ans = sorted(q, key=cmp(f))    # 파이썬2.7에서는 다르게 사용함
print(ans)

2016/03/21 23:56

디디

파이썬3.5.1

li = list(map(int,input().split()))
li = list(reversed(sorted([x for x in li if x < 0]))) + sorted([x for x in li if x >= 0])
print(li)

2016/04/17 16:00

차우정

Python 3.4

data = [-1, 1, 3, -2, 2]
output = []

{ output.append(x) for x in data if x < 0 }
{ output.append(x) for x in data if x >= 0 }

print(output)

2016/05/04 14:08

SanghoSeo

a=[-1,1,3,-2,2]
b=[]
c=[]
d=[]
e=[]
for i in range(len(a)):
    if a[i]<0:
        b.append(a[i])
    elif a[i]==0:
        d.append(0)
    else:
        c.append(a[i])
c.sort()
for i in b:
    e.append(str(i))
e.sort()
for i in e:
    b.append(int(i))
    b.pop(0)
a=b+d+c
print(a)

2016/05/14 00:41

Dr.Choi

그냥은 심심해서 절대값 순으로 정렬해봤습니다. - Dr.Choi, 2016/05/14 00:54
tmp1 = c(-1, 1, 3, -2, 2)
c(subset(tmp1, tmp1 < 0), subset(tmp1, tmp1 > 0))

R로 작성했습니다. 많은 분들이 이미 같은 방식으로 해결하셨네요.

2016/05/18 18:12

Byun Seongjun 변성준

package javaCoding;

import java.util.ArrayList; import java.util.List;

/ * 자바로 간단하게 풀었습니다. * @author pc02 /

public class Coding012 {

public static void main(String[] args) {

    int[] arr=new int[10];
    arr[0]=-5;
    arr[1]=-10;
    arr[2]=5;
    arr[3]=6;
    arr[4]=-7;
    arr[5]=15;
    arr[6]=25;
    arr[7]=-1;
    arr[8]=7;
    arr[9]=-9;

    List list=new ArrayList<>();
    List list2=new ArrayList<>();
    List list3=new ArrayList<>();

    for (int i = 0; i < arr.length; i++) {
        if(arr[i]<0){
            list.add(arr[i]);
        }
        else{
            list2.add(arr[i]);
        }
    }

    for (int i = 0; i < list.size(); i++) {
        list3.add(list.get(i));
    }
    for (int i = 0; i < list2.size(); i++) {
        list3.add(list2.get(i));
    }

    for (int i = 0; i < list3.size(); i++) {

        if(i==list3.size()-1){
            System.out.print(list3.get(i)); 
            break;
        }
        System.out.print(list3.get(i)+","); 
    }



}

}

2016/06/28 13:20

정 성훈

Delphi 2010

procedure TForm4.btnSpecialSortClick(Sender: TObject);
  function SpecialSort(str: string): string;
  var
    sList, sList2: TStringList;
    i, N: Integer;
  begin
    sList := TStringList.create;
    sList2 := TStringList.create;
    try
      sList.Delimiter := ' ';
      sList.CommaText := str; // Data를 Space키로 Array 처리하기

      for i := 0 to sList.Count - 1 do
        if pos('-', sList[i]) > 0 then
          sList2.Add(sList[i]);
      for i := 0 to sList.Count - 1 do
        if pos('-', sList[i]) = 0 then
          sList2.Add(sList[i]);

      sList2.Delimiter := ' ';
      result := sList2.CommaText; // 결과 Data 쓰기
    finally
      sList.Free;
    end;
  end;

var
  s: string;
begin
  s := '-1 1 3 -2 2';
  Memo1.Lines.Add(s + ' special sort => ' + SpecialSort(s));
end;

2016/07/10 17:16

강 경수

in_a = [-1,1,3,-2,2]
out_a=[]
for i in range(len(in_a)):
    if in_a[i] < 0 :
        out_a+=[in_a[i]]
for i in range(len(in_a)):
    if in_a[i] > 0 :
        out_a+=[in_a[i]]
print(out_a)

Python 3.5.2

2016/07/27 22:36

Zee

inplace 로 해결하고 싶은 경우 quicksort 알고리즘의 일부를 활용하면 됩니다.

template <size_t Siz>
static void Sort(std::array<int, Siz>& arr) {
    // pivot 숫자를 0으로 설정하고 quicksort 의 좌우정렬을 실행.

    // 일단 0을 오른쪽 끝에 모두 몰아 넣는다.
    for (int i = 0, j = 1; i < Siz; ++i) {
        if (arr[i] == 0) {
            swap(arr, i, Siz-j);
            ++j;
        }
    }

    int stored = 0;
    for (int i = 0; i < Siz; ++i) {
        if (arr[i] <= 0) {
            swap(arr, i, stored++);
        }
    }
}

2016/08/02 23:03

acoross

늅늅입니다. 파이썬을 보고 자극받아, arraylist 를 하나만 사용해서 돌리는 방법으로 만들어 보았습니다.

public static ArrayList<Integer> resultNum;

    public static void main(String args[])
    {
        int[] numList = {-1,1,-3,3,-2,2,4};
        resultNum = new ArrayList<Integer>();

        Sorting(numList);
    }

    public static void Sorting(int[] numList)
    {
        int tempIndex = 0;
        for(int i = 0; i < numList.length; i++)
        {
            if(numList[i] < 0)
            {
                resultNum.add(tempIndex, numList[i]);
                tempIndex++;
            }
            else
            {
                resultNum.add(resultNum.size(), numList[i]);
            }
        }

        for (int number : resultNum) 
        {
            System.out.print(String.valueOf(number) + " ");
        }
    }

결과는 -1 -3 -2 1 3 2 4 이렇게 나옵니다.

2016/08/03 15:08

여우와향신료

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr = {-1, 2, 9, 3, -5, -3, 10, 4, 7}; // 정렬해야 할 배열

            List<int> negative_list = new List<int>(); // 음수 리스트
            List<int> positive_list = new List<int>(); // 양수 리스트

            for(int i = 0; i < arr.Length; i++)
            {
                if(arr[i] > 0) // 양수 일때
                {
                    positive_list.Add(arr[i]);
                }
                else // 음수 일때
                {
                    negative_list.Add(arr[i]);
                }
            }

            int[] new_arr = new int[arr.Length]; // 정렬 된 값을 넣을 배열

            for(int i = 0; i < negative_list.Count; i++)
            {
                new_arr[i] = negative_list[i]; //음수값 대입
            }

            for(int i = 0; i < positive_list.Count; i++)
            {
                new_arr[negative_list.Count + i] = positive_list[i]; //양수값 대입
            }

            for(int i = 0; i < new_arr.Length; i++)
            {
                Console.Write(new_arr[i] + " ");
            }

        }
    }
}

정렬이라는 말에 어울리는 소스 같지는 않지만 일단 단순하게 짜봤습니다

2016/09/07 02:47

김 영현

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr = { 1, 2, 9, 3, -5, -3, 10, 4, -10 }; // 정렬해야 할 배열

            for(int i = 0; i < arr.Length; i++)
            {
                int temp_i = i;
                if (arr[i] < 0) //만약 음수일 경우
                {
                    for(int j = i-1; j >= 0; j--)
                    {                        
                        if(arr[j] > 0) //현재 i번째 숫자가 음수인데 앞쪽(i-1)에 양수가 있다면
                        {
                            int temp = arr[temp_i];
                            arr[temp_i] = arr[j];
                            arr[j] = temp;
                            temp_i = j;
                        }
                    }
                }
                for (int k = 0; k < arr.Length; k++)
                {
                    Console.Write(arr[k] + " ");
                }
                Console.WriteLine();
            }

        }
    }
}


2016/09/07 03:33

김 영현

C++ 코드 Stack으로 O(n) 만에 풀기

#include <iostream> 
#include <cstdlib> 
#include <stack> 
#include <vector> 
using namespace std; 

int main(){
    vector<int> v;  
    int n; // 배열의 길이  
    cin >> n; 
    for (int i = 0; i < n; i++){
        int no; 
        cin >> no; // 배열의 원소를 받는다. 
        v.push_back(no);  
    }
    stack<int> negative,positive; // 0은 없다고 가정 
    for (int i = v.size()-1; i >= 0; i--){
        if (v[i] < 0) negative.push(v[i]);  
        else positive.push(v[i]);  
    }
    while (!negative.empty()){
        cout << negative.top() << " ";  
        negative.pop();  
    }
    while (!positive.empty()){
        cout << positive.top() << " ";  
        positive.pop();  
    }
    cout << endl; 
    return 0; 
}

2016/10/10 10:57

iljimae

파이썬 코드입니다. 양수와 음수를 따로 리스트에 저장하여 둘을 더하는 방식으로 구성했습니다.

inp = list(input().split(' '))
a=[]
b=[]

for i in inp:
    i = int(i)
    if i<0: a.append(i)
    else: b.append(i)

print(a+b)

파이썬 초보입니다. 많은 피드백 부탁드립니다!

2016/10/20 20:14

조 우성

#include <stdio.h>
#include <stdlib.h>

void main(){
    int arr[] = {-1, 1, 3, -2, 2};
    int* temp;
    int size = sizeof(arr)/4;
    temp = (int*) malloc (sizeof(int)*size);
    int c=0;
    for(int i=0; i < size;i++) {
        if(arr[i]<0) {
            temp[c]=arr[i];
            c++;
        }
    }
    for(int i=0; i < size;i++) {
        if(arr[i]>0) {
            temp[c]=arr[i];
            c++;
        }
    }
    for(int i=0; i < size;i++) 
        printf("%1d ", temp[i]);

}

2016/10/26 01:52

코딩초보

#include <iostream> 

using namespace std;

int main()
{
    int arr[5] = { -1,1,3,-2,2 };
    int tempNum = -1;

    for (int i = 0; i < _countof(arr); i++)
    {
        cout << arr[i] << " ";
    }
    cout << endl;

    for (int i = 0; i < _countof(arr); i++)
    {
        if (arr[i] >= 0)
        {
            bool tempSorting = false;
            int tempIdx = 0;
            for (int j = i; j < _countof(arr); j++)
            {
                if (tempSorting)
                {
                    int sour = arr[j];
                    arr[j] = tempNum;
                    tempNum = sour;
                    if (tempIdx == j) break;
                }

                if (arr[j] < 0&&!tempSorting)
                {
                    tempNum = arr[j];
                    tempIdx = j;
                    j= i - 1;
                    tempSorting = true;
                }
            }
            tempNum = -1;
        }
    }
    for (int i = 0; i < _countof(arr); i++)
    {
        cout << arr[i] << " ";
    }
}

2016/11/01 11:52

이 재화

Java

import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import java.util.function.Function;
import java.util.stream.Collectors;

public class IntSortTester {

    public static Function<int[], List<Integer>> intSort = l -> {
        List<Integer> result = Arrays.stream(l).filter(i->i<0).boxed().collect(Collectors.toList());
        result.addAll(Arrays.stream(l).filter(i->i>=0).boxed().collect(Collectors.toList()));
        return result;
    };
    public static void main(String[] args) {
        try (Scanner sc = new Scanner(System.in)) {
            String input = sc.nextLine();
            List<Integer> sortedList = intSort.apply(Arrays.stream(input.split(" ")).mapToInt(Integer::parseInt).toArray());
            sortedList.forEach(i->System.out.print(i + " "));
        }
    }
}
  • -1 1 3 -2 2
  • -1 -2 1 3 2

2016/11/01 14:11

compert

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <windows.h>
#include <stdio.h>
#include <string>

using namespace std;

void sorting(int*, int*, const int);

int main(void) {
    int array[] = { -1,1,3,-2,2 };
    const int len = sizeof(array) / sizeof(int);
    int sort[len] = { 0, };

    for (int i = 0; i < len; i++) {
        cout << array[i] << " ";
    }

    sorting(array, sort, len);

    system("pause");
    return 0;
}
void sorting(int* array,int* sort, const int len) {
    int k = 0;

    for (int i = 0; i<len; i++)
    {
        if (array[i] < 0) {
            sort[k++] = array[i];
        }
    }
    for (int i = 0; i < len; i++) {
        if (array[i] >= 0) {
            sort[k++] = array[i];
        }
    }
    cout << "ans : ";
    for (int i = 0; i < len; i++) {
        cout << sort[i] << " ";
    }
}

2016/11/02 11:47

개허접


import java.util.ArrayList;

public class SpecialSort {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] A = {-1,1,3,-2,2};

        ArrayList<Integer> negList = new ArrayList<Integer>();
        ArrayList<Integer> posList = new ArrayList<Integer>();
        ArrayList<Integer> zerList = new ArrayList<Integer>();

        for (int i = 0; i < A.length; i++) {
            if (A[i] > 0) {
                posList.add(A[i]);
            }else if (A[i] < 0) {
                negList.add(A[i]);
            }else
                zerList.add(A[i]);
        }

        for (int i = 0; i < negList.size(); i++) {
            System.out.print(negList.get(i) + " ");
        }

        for (int i = 0; i < zerList.size(); i++) {
            System.out.print(zerList.get(i) + " ");
        }

        for (int i = 0; i < posList.size(); i++) {
            System.out.print(posList.get(i) + " ");
        }
    }

}

2016/11/08 17:48

강 우민

int main(int argc, char *argv[]) {

int arry[5]={-1,1,3,2,-2};
int last[5]={};
int k=0;
int minuscount=0;
int i;


for(i=0; i<5; i++){
    if(arry[i]<0){
        last[k]=arry[i];
        k+=1;
        minuscount+=1;  
    }
}

for(i=0; i<5; i++){
    if(arry[i]>0){
        last[minuscount]=arry[i];
        minuscount+=1;  
    }
}

for(i=0; i<5; i++){
    printf("%d\n",last[i]);
}

return 0;

} ``` 5개 값 아무거나 넣어도 실행됩니다.

2016/11/22 10:34

김준환

//Linq로

List<int> arr = new List<int>() { -1, 1, 3, -2, 2 };
foreach (int v in (new List<int>(arr)).Where(k => k < 0).Concat(new List<int>(arr).Where(k => k > 0)))
    Console.WriteLine(v);

2016/11/23 16:26

lee jaekyoon

lst = [-1,1,3,-2,2]

mi_lst = [x for x in lst if x < 0]
ad_lst = [x for x in lst if x > 0]

print(mi_lst+ad_lst)

2016/11/23 18:56

바바

print(sorted([-1, 1, 3, -2, 2], key=lambda x: 1 if x > 0 else 0))

Python 3.5.2에서 작성하였습니다.

2016/11/28 14:32

Yeo HyungGoo

nums = [-1,1,3,-2,2]
print([x for x in nums if x < 0]+[x for x in nums if x > 0])

#### 2016.12.15 D-434 ####

2016/12/15 23:09

GunBang

C(11) gcc -std=c11

#include <stdio.h>
#include <stdlib.h>

void append(int **p, int val, int index);
void print(int **p, int size);

int main(void)
{
    int *minus = (int *)malloc(0 * sizeof (int));
    int *plus = (int *)malloc(0 * sizeof (int));
    int minus_index = 0, plus_index = 0;
    int n;

    while (scanf("%d", &n) == 1)
    {
        if (n < 0)
        {
            append(&minus, n, minus_index);
            ++minus_index;
        }
        else
        {
            append(&plus, n, plus_index);
            ++plus_index;
        }
    }
    print(&minus, minus_index);
    print(&plus, plus_index);
    putchar('\n');

    free(minus);
    free(plus);
    return 0;
}

void append(int **p, int val, int index)
{
    *p = (int *)realloc(*p, (index+1) * sizeof (int));
    (*p)[index] = val;
}

void print(int **p, int size)
{
    for (int i=0; i<size; ++i)
        printf("%d ", (*p)[i]);
}

2016/12/22 18:20

디디


#python 2.7.xx

arr = [-1,1,3,-2,2]
normal = filter(lambda x :x < 0, arr) + filter(lambda x: x >= 0,arr)
print normal

2016/12/30 19:22

Daniel

#include <stdio.h>

void Shift(int arr[], int idx_start, int idx_end)
{
    int tmp = arr[idx_end];
    for (int i = idx_end - 1; i >= idx_start; i--)
    {
        arr[i + 1] = arr[i];
    }
    arr[idx_start] = tmp;
}

int main()
{
    int arrSrc[5] = { -1, 1, 3, -2, -5 };

    {
        int idx_insertNegative;
        bool bFindPositive = false;
        for (int i = 0; i < 5; i++)
        {
            if (!bFindPositive && arrSrc[i] >= 0)
            {
                idx_insertNegative = i;
                bFindPositive = !bFindPositive;
            }
            else if (bFindPositive && arrSrc[i] < 0)
            {
                Shift(arrSrc, idx_insertNegative, i);
                idx_insertNegative++;
            }

        }
    }

    for (int i = 0; i < 5; i++)
        printf("%d ", arrSrc[i]);
    printf("\n");

    return 0;
}

2017/01/31 13:37

임지훈

def special_sort(data):
    print([x for x in data if x<0]+[y for y in data if y>0])
special_sort([-1, 1, 3, -2, 2])

2017/02/16 01:07

김구경

import java.util.ArrayList;
import java.util.Scanner;

public class Special_Sort {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        ArrayList<Integer> a = new ArrayList<Integer>();
        int plus = 0;
        int minus = 0;
        while((scan.hasNextInt())){
            int n = scan.nextInt();
            System.out.println(n);
            if(n >= 0)
                a.add((plus++) + minus,n);
            else
                a.add(plus + (minus++), n);
        }
        for(int i : a){
            System.out.print(i+ " ");
        }
    }

}

2017/02/22 12:56

KimSeonbin

import java.util.Arrays;

public class SpecialSort {

    public static void main(String[] args) {
        int n = 5;
        int[] a = new int[]{-1, 1, 3, -2, 2};

        for (int i = 0; i < n - 1; i++) {
            for (int j = n - 1; j > i; j--) {
                if (a[j - 1] * a[j] < 0 && a[j - 1] > a[j]) {
                    int temp = a[j];
                    a[j] = a[j - 1];
                    a[j - 1] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(a));
    }
}

2017/03/14 23:36

genius.choi

public int [] go(int [] a) {
        ArrayList<Integer> sort = new ArrayList<Integer>();

        for(int i=0 ; i<a.length ; i++) {   //ArrayList에 음수먼저 저장
            if(a[i]<0) sort.add(a[i]);
        }

        for(int i=0 ; i<a.length ; i++) {   //ArrayList에 양수 저장
            if(a[i]>=0) sort.add(a[i]);
        }

        for(int i=0 ; i<sort.size() ; i++) { 
            a[i]=sort.get(i);
        }
        return a;
    }

2017/04/05 22:56

강민수

a=[-1,1,3,-2,2]
b=[]
for i in a:
    if i <0:
        b.append(i)
for i in a:
    if i>0:
        b.append(i)
print(b)

2017/04/21 16:41

조현

#include <iostream>
#include <vector>

using namespace std;

void printNumber(vector<int>arr);
void specialSort(vector<int>&before, vector<int>&after, bool flag);

int main()
{
    bool flag = false;
    int index = 0;
    vector<int> before = { -1, 1, 3, -2, 2 };
    vector<int> after;
    after.reserve(before.size());

    printNumber(before);
    specialSort(before, after, flag);
    printNumber(after);
    return 0;
}

void specialSort(vector<int>&before, vector<int>&after, bool flag) {
    for (int i = 0; i < before.size(); i++) {
        if (before.at(i) < 0 && flag == false)
            after.push_back(before.at(i));

        else if (before.at(i) > 0 && flag == true)
            after.push_back(before.at(i));

        if (i == before.size() - 1 && flag == false) {
            i = -1;
            flag = true;
        }
        if (i == before.size() - 1 && flag == true)
            break;
    }
}

void printNumber(vector<int>arr) {
    for (int i = 0; i < arr.size(); i++) {
        cout << arr.at(i) << " ";
    }
    cout << "\n";
}
-1 1 3 -2 2
-1 -2 1 3 2

2017/05/02 19:01

GyuHo Han

a=[-1, 1, 3, -2, 2, -7,-5,-9,-10,3,5,4,2,7]
b=[]
c=[]
for i in range(len(a)):
    if a[i]<0:
        b.append(a[i])
    else:
        c.append(a[i])
d=b+c
print(d)

2017/05/15 17:05

정세진

python 3.6 한줄 : 리시트에서 음수모으고 양수모아서 합치기, 0 이 있다면 무조건 가운데

알고리즘

special_sort = [i for i in LIST if i<0] + [j for j in LIST if j==0] + [k for k in LIST if k>0]

구현

def special_sort(LIST): # 구글 면접 해답 함수
    sort = [i for i in LIST if i<0] + [j for j in LIST if j==0] + [k for k in LIST if k>0]
    return sort

>>> in_array = list(map(int, input("Enter numbers: ").split())) # 입력받아 int array list 로 저장
Enter numbers: -1 1 3 -2 2
>>> print(" ".join(map(str, special_sort(in_array)))) # 정렬숫자 받아 리스트로 변환출력
-1 -2 1 3 2

>>> in_array = list(map(int, input("Enter numbers: ").split()))
Enter numbers: 1 -4 -3 -5 1 3 -6 7 0
>>> print(" ".join(map(str, special_sort(in_array))))
-4 -3 -5 -6 0 1 1 3 7

2017/05/26 00:39

예강효빠

a = [-1,1,3,-2,2]
a.sort(key = int)
for i in range(len(a)):
    if a[i] < a[i+1] < 0:
        a.append(a[i])
        a[i] = a[i+1]
        a[i+1]=a[-1]
        a.pop()
print(a)

2017/05/29 18:37

S ReolSt

C-Sharp

using static System.Console;
using System.Linq;

class Program
{
    static void Main()
    {
        int[] arr = { -1, 1, 3, -2, 2};
        arr.Where(n => n < 0).ToList().Concat(arr.Where(n => n >= 0)).ToList().ForEach(n => Write(n + " "));
    }
}

2017/05/30 15:02

디디

public static void main(String[] args) {
        int [] arr = {-2,2,31,-321,2,3,4,5,-2};
        ArrayList<Integer> list = new ArrayList<>();
        for(int i=0;i<arr.length;i++)
            if(arr[i]<0 )
                list.add(arr[i]);

        for(int i=0;i<arr.length;i++)
            if(arr[i]>0)
                list.add(arr[i]);

        System.out.println(list);

2017/06/13 15:09

kihyun lee

원글을 보니 O(n) 의 시간복잡도와 O(1) 의 공간복잡도로 풀라고 하고 있네요.

머리좀 쥐어뜯다가 포기했습니다.

어떻게 푸나요?

아래는 그냥 쉬운방법으로 ㅠㅠ

javascript(ES6)

var list = [-1, 1, 3, -2, 2];

var minus = v => v < 0;
var plus = v => v > 0;
var zero = v => v === 0;
var answer = list.filter(minus).concat(list.filter(zero), list.filter(plus));

console.log(`ans : ${answer.join(" ")}`);

2017/06/16 14:20

funnystyle

#include<stdio.h>

int main(void) {
    int arr[10] = { 1,2,-3,4,5, -6, -2, 3, -8, 9};//갯수는 마음대로
    int temp;
    int i,j;
    for (i = 0;i < 10;i++) {
        if (arr[i] < 0) {
            if(i != 0) {
                for(j=i;j>0;j--){
                    if (arr[j - 1] < 0)
                        break;
                    else {
                        temp = arr[j];
                        arr[j] = arr[j - 1];
                        arr[j - 1] = temp;
                    }
                }
            }
        }
    }
    for (i = 0; i < 10; i++) {
        printf("%d ", arr[i]);
    }
}

2017/06/18 09:36

조밍

자바, 배열의 처음부터 끝값까지 for문으로 조회해서 음수는 음수 array list에 양수는 양수 array list 에 저장후 둘을 합친다. 나중에 코드로 작성할예정

2017/06/18 11:36

JH

a = [-1, 1, 3, -2, 2]

minus_number = []
plus_number = []


for i in range(0,len(a)):
    if a[i] < 0:
        minus_number.append(a[i])
    elif a[i] >= 0:
        plus_number.append(a[i])


print ("Sorted  list is :", (minus_number + plus_number))

2017/06/19 14:27

Bo Hyun Seo

num=[-1,1,3,-2,2]
plus_num=[]
minus_num=[]
def special_sort(num):
    for i in range(len(num)):
        if num[i]<0:
            minus_num.append(num[i])
        else:
            plus_num.append(num[i])
    print(minus_num+plus_num)

special_sort(num)

2017/06/21 12:52

나후승

def special_sorting(arr):
    minus_list = []
    plus_list = []
    for i in arr:
        if (i >= 0):
            plus_list.append(i)
        else:
            minus_list.append(i)
    result_list = minus_list + plus_list
    return result_list

2017/07/02 11:03

이정환

#in-place: bubble sort var.
lst = [-1, 1, 3, -2, 2]
for last in range(len(lst)):
    for i in range(last):
        if lst[i] > 0 and lst[i+1] < 1:
            (lst[i], lst[i+1]) = (lst[i+1], lst[i])

print(lst)

2017/07/03 15:25

Noname

부끄러운 답안입니다..ㅠ 양수 음수 각각 배열 선언해서 나눈 다음 순서대로 합칩니다.. 더 나은 방법이 있는지 생각해보고 업데이트 해보겠습니다.


public class Ex7 {
    // -1 1 3 -2 2 ans: -1 -2 1 3 2.
    private static int[] array = {-1,1,3,-2,2};
    public static void main(String[] args) {
        sort();
    }
    public static void sort(){
        int[] minus = new int[array.length];
        int[] plus = new int[array.length];
        int idx = 0;
        int idx2 = 0;
        for ( int i = 0; i < array.length; i++ ){
            if ( array[i] < 0 ){
                minus[idx++] = array[i];
            }
            if ( array[i] >= 0 ){
                plus[idx2++] = array[i];
            }
        }
        for( int i = 0; i < idx; i++){
            array[i] = minus[i];
        }
        for( int i = 0; i < idx2; i++){
            array[i+idx] = plus[i];
        }
    }
}

2017/07/10 17:06

요지

def alignment(insertList):

    negative = []
    positive = []
    for num in insertList: 
        if num < 0:
            negative.append(num)
        elif num > 0:
            positive.append(num)
    print(negative + positive)



alignment([-1, 1, 3, -2, 2])

2017/07/12 11:50

김용준

Python 3로 풀었습니다.

def special_sort(items):
    return [x for x in items if x < 0] + [x for x in items if x >= 0]

2017/07/14 09:38

SOUP

def specialSort(arr):
    a=[]
    b=[]
    for i in range(0,len(arr)):
        if(arr[i]<0):
            a.append(arr[i])
        else:
            b.append(arr[i])
    arr = a+b
    return arr

a = [-1,1,3,-2,2,-1,-3,-4]
print(specialSort(a))
``````{.python}
def specialSort(arr):
    a=[]
    b=[]
    for i in range(0,len(arr)):
        if(arr[i]<0):
            a.append(arr[i])
        else:
            b.append(arr[i])
    arr = a+b
    return arr

a = [-1,1,3,-2,2,-1,-3,-4]
print(specialSort(a))

2017/07/14 15:30

김도현

list = [-1, 1, 3, -2, 2]
res = [a for a in list if a < 0] + [a for a in list if a ==0 ] + [a for a in list if a > 0]

print(res)

2017/07/22 15:59

이재희

Python 2.7

givenList = [1,-1,0,4,6,-5]
print givenList
givenList.sort()
mySortList = []

for x in givenList:
    if x < 0:
        mySortList.insert(0, x)
    else:
        mySortList.append(x)

print mySortList    

2017/07/27 13:53

오준균

public class SpecialSort {
    public static void main(String[] args) {
        int[] nums = {-1, 1, 3, -2, 2};
        int[] result = new int[nums.length];
        int cnt=0, i;
        for(i=0; i<nums.length; i++) {
            if(nums[i]<0) {
                result[cnt] = nums[i];
                cnt++;              
            }
        }
        for(i=0; i<nums.length; i++) {
            if(nums[i]>0) {
                result[cnt] = nums[i];
                cnt++;
            }
        }
        for(i=0; i<nums.length; i++) System.out.println(result[i]);
    }
}

2017/07/30 15:55

곽철이

Python으로 작성했습니다.

Q = [-1, 1, 3, -2, 2]
def SpecialSort(Q):
    minor, major = [], []
    for num in Q:
        if num < 0:
            minor.append(abs(num))
        if num >= 0:
            major.append(num)
    major.sort()
    minor.sort()
    minor = [i*(-1) for i in minor]
    return(minor + major)
SpecialSort(Q)

2017/08/01 09:45

arloe

R로 작성했습니다.

Q <- c(-1, 1, 3, -2, 2)
SpecialSort <- function(Q){
  minor <- Q[Q < 0]
  major <- Q[Q >= 0]
  major <- major[order(major)]
  minor <- minor[order(minor, decreasing = T)]
  result <- c(minor, major)
  return(result)
}
SpecialSort(Q)

2017/08/01 09:54

arloe

list_data=[3,1,7,2,-1,5,-9,-7,10]
minus_list_data=[]
list_dh=[]
len_list_data=len(list_data)
print(list_data)


for i in range(len_list_data-1):
    if list_data[i]<0:
        minus_list_data.append(list_data[i])

for j in range(len_list_data-1):
    if list_data[j]<0:
        list_dh.append(j)


for u in range(len(list_dh)):
    list_data[list_dh[u]]='K'

for gg in range(len(list_dh)):
    list_data.remove('K')
for p in range(len(list_data)):
    minus_list_data.append(list_data[p])

print(minus_list_data)

2017/08/01 12:02

daehyun.jung

딴분들 코딩을 보니까 좌절이 ㅠㅠ 너무 무식하게 했군요 - daehyun.jung, 2017/08/01 12:04
def sorting_int(a) :  # type(a) == list

    for i in range(1, len(a)) :

        if a[i-1] * a[i] > 0 :
            pass

        else :
            n = i

            while n > 0 :
                if a[n-1] * a[n] < 0 and a[n] < 0 :
                    a[n-1], a[n] = a[n], a[n-1]
                    n -= 1

                else :
                    n -= 1

            continue
    return a

2017/08/06 19:44

다크엔젤

[Python 3.6]

print([num for num in inputArray if num < 0] + [num for num in inputArray if not num < 0])

2017/08/12 16:01

Eliya

lst = [-1, 1, 3, -2, 2]
print([x for x in lst if x < 0] + [x for x in lst if x >= 0])
print(list(filter(lambda x : x<0, lst)) + list(filter(lambda x : x>=0, lst)))

2017/08/22 17:02

piko


import java.util.ArrayList;
import java.util.List;

public class Example28 {

    public static void main(String[] args) {
        int nArray[] = new int[] { -1, 1, 3, -2, 2 };

        List<Integer> minus = new ArrayList<>();
        List<Integer> plus = new ArrayList<>();

        for (int n : nArray) {
            if (n < 0)
                minus.add(n);
            else
                plus.add(n);
        }

        minus.addAll(plus);

        for(Integer n : minus) {
            System.out.print(n + " ");
        }
    }
}

두개 따로 list로 받고 하나로 합쳤습니다.

2017/08/29 02:00

흑돼지

arr=[-1,1,3,-2,2]
plus=[]
minus=[]
for i in arr:
    if(i<0):
        minus.append(i)
    else:
        plus.append(i)
print(minus+plus)

2017/08/30 15:53

impri

# python 3.6
inp = [-1, 1, 3, -2, 2]
lst_l = list()
lst_r = list()
for v in inp:
    if v < 0:
        lst_l.append(v)
    else:
        lst_r.append(v)
print(lst_l + lst_r)

2017/09/11 15:27

mohenjo

def special_sort(x):
   return  [i for i in x if i<0]+[i for i in x if i>0]


2017/10/05 22:28

Quan Lee

spelis=[-1,1,3,-2,2]

list= [spelis[b]  for b,a in enumerate(spelis) if a < 0]
list.sort()

comlis = [spelis[b] for b,a in enumerate(spelis) if a > 0]
spelis = list + comlis

print(spelis)


처음으로 글써봅니다.. 초보라서 더잘하지는 못했어요; 죄송함다 음수만 정렬되는 기능도 넣어봤는데 조잡스럽나요?

2017/10/08 14:06

2h

저는 음수는 list_negative에 저장하고, 양수는 list_positive에 저장하여 list_negative를 익스텐드해서 new_list에 저장했습니다.

datalist = [-1, 1, 3, -2, 2]
list_negative = []
list_positive = []
for i in datalist:
    if i < 0:
        list_negative.append(i)
    else:
        list_positive.append(i)
list_negative.extend(list_positive)
new_list = list_negative
print(new_list)

2017/10/18 09:44

정재훈

# 한글 처리 in Atom 1.21.1 + Anaconda(Python 3.6.3)
import sys
import io

sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding='utf-8')

# n개의 정수를 가진 배열이 있다.
# 이 배열은 양의정수와 음의 정수를 모두 가지고 있다.
# 이제 당신은 이 배열을 좀 특별한 방법으로 정렬해야 한다.
# 정렬이 되고 난 후, 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다.
# 또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다.
# 예. -1 1 3 -2 2 ans: -1 -2 1 3 2.

#numbers = [-1, 1, 3, -2, 2]
import random
numbers = [random.randint(1,10)*(random.randint(1,2)*2-3) for i in range(10)]
print("원래 배열 :", numbers)

minus = [x for x in numbers if x < 0]
plus = [x for x in numbers if x > 0]

print("수정한 배열 :", minus+plus)

2017/10/29 23:02

Jace Alan

import java.util.ArrayList;
import java.util.List;

public class SpecialSortTest {
    public static void main(String[] args) {
        List<Byte> data = new ArrayList<>();
        //정수는 int타입이기 때문에 byte로 캐스팅(Casting)한다
        data.add((byte)-1); data.add((byte)1); data.add((byte)3); data.add((byte)-2); data.add((byte)2);
        //음수
        List<Byte> nagative = new ArrayList<>();
        //양수
        List<Byte> dual = new ArrayList<>();

        //음수와 양수를 분리한다
        for(byte b1 : data) {
            if(b1>0) {
                dual.add(b1);
            }else if(b1<0) {
                nagative.add(b1);
            }
        }
        //출력
        for(byte b3: nagative){
            System.out.print(b3 + "\t");
        }
        for(byte b2: dual){
            System.out.print(b2 + "\t");
        }
    }
}

2017/11/03 22:25

YEAHx4

제가 만들었지만 많이 부족하다는 생각이 드네요........................... - YEAHx4, 2017/11/04 10:29
ex_list = [-1,1,3,-2,2]
ex2_list = []

def positive(x):
    return x > 0

def positive2(x):
    return x < 0

ex2_list.extend(filter(positive2,ex_list))
ex2_list.extend(filter(positive,ex_list))

print (ex2_list)

2017/11/07 16:34

Anny_hpk

#input:배열, output:순서변경된배열

S=[-1, 1, 3, -2, 2]

def change_array(input):
    dic = {value:idx for idx,value in enumerate(input)}
    dic_values = list(dic.keys())
    idx_lst01 = []
    idx_lst02 = []
    for n in dic_values:
        if n < 0:
            idx_lst01.append(dic[n])
        else:
            idx_lst02.append(dic[n])
    idx_lst01.extend(idx_lst02)
    result = [input[idx] for idx in idx_lst01]
    print(result)

change_array(S)

2017/11/12 20:04

정진환

def SpecialSort(list): list_negative = [] list_positive = [] for i in list: if i < 0: list_negative.append(i) else: list_positive.append(i) list_negative.extend(list_positive) sortedList = list_negative
print(sortedList)

SpecialSort([-1,1,3,-2,2])

2017/11/16 16:14

김남혁



def katadsuke(s, i, a):   # 음수를 앞으로 옮긴 후 나머지 양수들을 정리
    while i < (a-1):
        s[i+1], s[a] = s[a], s[i+1]
        i += 1 

def google(s):
    i = 0  # 좌표설정
    for a in range(len(s)):
        if s[a] < 0:
            s[i], s[a] = s[a], s[i]  # 바꾸고
            katadsuke(s, i, a)  # 나머지를 정리하고
            i += 1              # 좌표를 이동 
    return s


2017/11/17 15:14

李愼言(이신언)

[num for num in arr if num <0] + [num for num in arr if num >0]

python 3.5.2 입니다.

2017/11/17 23:14

Seohyun Choi

0은 역시 가운대죠!!

N_list = [-1, 1, 3, -2, 2]

ddd = []
ppp = []
zero = []
for i in range(len(N_list)):
    if N_list[i] < 0:
        ddd.append(N_list[i])
    elif N_list[i] == 0:
        zero.append(N_list[i])
    else:
        ppp.append(N_list[i])

print(ddd+zero+ppp)

2017/11/27 09:11

홍철현

N_list = [-1, 1, 3, -2, 2]

ddd = []
ppp = []
zero = []
for i in range(len(N_list)):
    if N_list[i] < 0:
        ddd.append(N_list[i])
    elif N_list[i] == 0:
        zero.append(N_list[i])
    else:
        ppp.append(N_list[i])

print(ddd+zero+ppp)

2017/12/03 02:21

홍철현

inputarray = [-1, 1, 3, -2, 2]
negative = []
positive = []
for i in inputarray:
    if i < 0: 
        negative.append(i)
    elif i > 0:
        positive.append(i)
new = negative + positive
print new

2017/12/03 03:02

영이

전 뭐든지 어렵게 하는 재능(?)이 있는 것 같네요.. 이렇게 하지 말라는 의미에서 코드 첨부합니다ㅋㅋㅋㅋㅋ

import java.util.Arrays;

public class 클래스 명 {
    public static int[] inputNbs = {-16, -23, -1, 1, 3, -2, 2, -8, 5, 8, 0};
    public static int[] minusNbs = new int[inputNbs.length]; public static int[] plusNbs = new int[inputNbs.length];

    public static void distinguishPlusMinus() {
        int plus = 0; int minus = 0;
        for(int a = 0; a < inputNbs.length; a++) {
            if(inputNbs[a] >= 0) {
                plusNbs[plus] = inputNbs[a]; plus++;
            } else {
                minusNbs[minus] = inputNbs[a]; minus++;
            }
        }
        if(plusNbs[plus -1] == 0) {
            plusNbs[plus] = -1;
        }
    }

    public static void main(String[] args) {
        int plus = 0; int minus = 0;
        distinguishPlusMinus();
        System.out.print("ans: ");

        while(minusNbs[minus] != 0) {
            System.out.print(minusNbs[minus] +" "); minus++;
        }
        while(plusNbs[plus] != 0 && plusNbs[plus] != -1 || plusNbs[plus +1] != 0 && plusNbs[plus] != -1) {
            System.out.print(plusNbs[plus] +" "); plus++;
        }
    }
}

2017/12/04 12:02

SungWook Jung

import java.util.ArrayList; import java.util.Scanner;

public class SpecialSort {

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    ArrayList<Integer> a = new ArrayList<Integer>();
    int plus = 0;
    int minus = 0;
    while((scan.hasNextInt())){
        int n = scan.nextInt();
        System.out.println(n);
        if(n >= 0)
            a.add((plus++) + minus,n);
        else
            a.add(plus + (minus++), n);
    }
    for(int i : a){
        System.out.print(i+ " ");
    }
}

}

2017/12/04 16:00

떼디

a=[-1, 1, 3, -2, 2]
d=[]
c=[]
for x in a:
    if (x>0):
        d.append(x)
    else:
        c.append(x)
c.extend(d)
print(c)

2017/12/11 23:02

김현중

A=[-1, 1, 3, -2, 2, -5, 7, -4, 5]
B=[A[i] for i in range(len(A)) if A[i]<0]
C=[A[i] for i in range(len(A)) if A[i]>=0]
A=B+C
print(A)

2017/12/12 21:28

빗나감

#!/usr/bin/env python

list = [1, -3, -8, 4, 7, -5, 3, -4, 6, -1]

##음수 양수 구분
def classifer(target, size):
    for i in list:
        if 0 < target[i]:
            positive.append(target[i])
        if 0 > target[i]:
            nagative.append(target[i])
        else:
            print('Neither negative numbers nor positive numbers.')


positive=[]
nagative=[]

classifer(list)

##양수 부분 Sorting
positive.sort()

##음수 부분과 양수 부분 합계
result=nagative + positive
print(result)

2017/12/14 14:07

윤병호

lst = [-1,1,3,-2,2]
minus =[x for x in lst if x <0]
plus = [x for x in lst if x > 0]
print(minus + plus)

2017/12/17 14:41

얏홍

a = [-1 , 1, 3, -2, 2]
print( [x for x in a if x < 0] + [x for x in a if x >= 0] )

2017/12/19 16:27

ekfrqkf

array = [3,2,7,-2,1,-1,-3,5]      # 배열 샘플


def arraysort(array):
    sortarray =[]
# 음의 정수를 먼저 새로운 리스트에 추가
    for i in array:
        if i < 0:
            sortarray.append(i)
        else:
            pass
# 양의 정수를 음의 정수 뒤로 추가
    for i in array:
        if i >= 0:
            sortarray.append(i)
        else:
            pass
    print(sortarray)

arraysort(array)
  • *결과값
[-2, -1, -3, 3, 2, 7, 1, 5]

2017/12/19 17:21

justbegin

package programming;

import java.util.Arrays;

public class google1 {

    public static void main(String[] args) {
        int sr[] = {-1,1,3,-2,2};

        specialSort(sr,0,sr.length);

        System.out.println(Arrays.toString(sr));

    }
    static void specialSort(int[] arr, int s, int e) {

        int i = s-1, j, temp; // 변수 i는 삽입 되어야하는 인덱스위치
            for (j = s; j < e; j++) {

                if (arr[j] < 0) {
                    i++;

                    temp = arr[j];
                    for(int k=j; k>i; k--){
                        // 삽입되어야하는 인덱스위치 다음 원소부터 반복문이 진행되고있는 j원소까지 배열을 복사해준다.
                      arr[k] = arr[k-1];      
                    }
                    arr[i] = temp;              
                    // 마지막으로 인덱스에다가 원소 삽입
                }                                   
            }
    }
}

2017/12/20 20:04

쫑티

public class Main {

    public static void main(String[] args) {

        int[] ex = { -1, 1, 3, -2, 2 };
        int[] ans = new int[ex.length];

        int i = 0;
        for (int j = 0; j < ex.length; j++) {
            if (ex[j] < 0) {
                ans[i] = ex[j];
                i++;
            }
        }
        for (int j = 0; j < ex.length; j++) {
            if (ex[j] > 0) {
                ans[i] = ex[j];
                i++;
            }
        }
        for (int k : ans) {
            System.out.print(k + "  ");
        }
    }
}

2017/12/21 14:19

이장흠

    private void makeVal(int[] n) {
        // TODO Auto-generated method stub
        //양수 배열
        ArrayList plusList = new ArrayList();
        //음수 배열 
        ArrayList minusList = new ArrayList();
        ArrayList resultList = new ArrayList();

        //0의 경우? -> 양수로 처리

        for(int i=0; i<n.length; i++)
        {
            if(n[i] >=0)
            {
                plusList.add(n[i]);
            }
            else
            {
                minusList.add(n[i]);
            }
        }

        for(int j=0; j<minusList.size(); j++)
        {
            resultList.add(minusList.get(j));
        }

        for(int j=0; j<plusList.size(); j++)
        {
            resultList.add(plusList.get(j));
        }

        for(int j=0; j<resultList.size(); j++)
        {
            System.out.println(j+"번값 : "+resultList.get(j));
        }
    }

좀 더 생각해보면 더 잘 나올거같긴 한데..다른분거 보시는게 좋을거같습니다

2017/12/22 14:26

김준학

#include <stdio.h>
#include <stdlib.h>

void SpecialSort(int *p, int len) {
    int *neg = (int*)calloc(sizeof(int), len);
    int *pos = (int*)calloc(sizeof(int), len);

    int i = 0, j = 0, k = 0;
    while (i < len) {
        if (p[i] < 0) {
            neg[j] = p[i];
            j++;
        }
        else {
            pos[k] = p[i];
            k++;
        }
        i++;
    }
    for (int l = 0; l < j; l++) 
        p[l] = neg[l];
    for (int l = j; l < len; l++)
        p[l] = pos[l - j];

    free(neg); free(pos);
}

void main() {
    int a[] = { -1, 2, 3, -4, -5, 6, -7, -8, -9, 10 };
    SpecialSort(a, sizeof(a) / sizeof(int));
    for (int i = 0; i < sizeof(a) / sizeof(int); i++) {
        printf("%d ", a[i]);
    }
    printf("\n");
}

2017/12/22 17:33

ccs

arr_is =[-1, 1, 3, -2, 2, -5, -1]
list_mi = []
list_ple = []
arr_str = [str(i) for i in arr_is]
for i in arr_str:
    if i[0] == '-':
        list_mi.append(i)
    else:
        list_ple.append(i)
list_arr_is = list_mi + list_ple
print(list_arr_is)

2017/12/26 01:17

완전초보

numList = [-1, 1, 3, -2, 2]

def specialSort(list):
    i = 0
    count = 0
    temp1 = 0
    temp2 = 0
    while(i < len(list) - 1):
        if(list[i] > 0 and list[i+1] < 0):
            temp1 = list[i]
            temp2 = list[i+1]
            list[i+1] = temp1
            list[i] = temp2
            count += 1

        i += 1

    # 한번만 돌리면 안되고 원하는 결과가 나올 때까지 계속 돌려야 한다. 기존의 돌렸던 함수는 return시킨다.
    if(count != 0):
        count = 0
        specialSort(list)
        return

    print(list)

specialSort(numList)

2017/12/27 02:03

임지호

list = [1, 2, 3, 4, 5, -5, -4, -3, -2, -1] #n개의 정수를 가진 배열
j1 = []
j2 = []
j3 = []

for i in list:
    if i<0:
        j1.append(i)
    elif i==0:
        j2.append(i)
    else:
        j3.append(i)
print(j1 + j2 + j3)

2017/12/29 22:02

김호현

python 3.6

a = input('Please enter an array of integer, separating with spaces: ').split(' ')
a_neg = [int(i) for i in a if int(i) < 0]
a_pos = [int(i) for i in a if int(i) > 0]
print('ans:', ' '.join(map(str,a_neg + a_pos)))

2017/12/31 20:06

최상혁

파이썬 입니다.

def ssort(*n): ##튜플형태로 입력받자
    minus=[]
    plus=[]
    for i in range(len(n)):
        if n[i]<=0: ##음수라면
            minus.append(str(n[i])) ##주의할 점은 int형으로 구성된 list는 join으로 출력 못한다. str형태로 바꿔줘야함.
        elif n[i]>=0: ##양수라면
            plus.append(str(n[i]))
    result=" ".join(minus)+" "+" ".join(plus)
    return result

2018/01/02 17:33

Ilhoon Kang

data = [-1, 1, 3, -2, 2]

minus = []
plus = []

for x in data:
    if x < 0:
        minus.append(x)
    else:
        plus.append(x)

print(minus + plus)    

2018/01/05 14:23

황예환

s=[-1, 1, 3, -2, 2]
s1 = []
s2 = []

for i in [-1,1,3,-2,2]:
    if i < 0:
        s1.append(i)
    else:
        s2.append(i)
print(s1 + s2)

2018/01/05 20:27

715

def special_sort(numbers):
    return [x for x in numbers if x <= 0] + [x for x in numbers if x > 0]

if __name__ == '__main__':
    num_list = [-1, 1, 3, -2, 2]
    print(special_sort(num_list))

2018/01/05 22:09

Analyticsstory

public class level_1_special_sort {

public static void main(String[] args) {

    int[] array = {-10, 7, 0, 3, -5, 10, 1, -2};

    int length = array.length;
    int i;

    for(i = 0; i < length; i++)
    {
        if(array[i] < 0)
        {
            System.out.print(array[i] + " ");
        }
    }
    for(i = 0; i < length; i++)
    {

        if(array[i] == 0)
        {
            System.out.print(array[i] + " ");
        }
    }
    for(i = 0; i < length; i++)
    {
        if(array[i] > 0)
        {
        System.out.print(array[i] + " ");
        }
    }
}

}

2018/01/09 14:45

Byam_Gyu

v = [-1, 1, 3, -2, 2]
print(list(filter(lambda x:x<0,v)) + list(filter(lambda x: x>=0, v)))

2018/01/11 09:33

715

자바욥

    int[] arr = {-1, 1, 3, -2, 2};

    public static void main(String[] args)
    {
        main ma = new main();
        int[] arr = ma.arr;
        int length = arr.length;
        int tmp = 0, cnt = 0;
        while(cnt < length)
        {
            for(int i = 0; i < length; i++)
            {
                if(arr[i] < 0)
                {
                    if(i > 0 && arr[i-1] > 0)
                    {
                        tmp = arr[i];
                        arr[i] = arr[i-1];
                        arr[i-1] = tmp;
                    }
                }
            }
            cnt++;
        }
        System.out.println(Arrays.toString(arr));
    }

2018/01/11 14:53

강승규

function test1(input)
    tmp1 = convert(Any, input)
    tmp2_1 = Any[filter(n-> n < 0, tmp1)]
    tmp2_2 = filter(n -> n > 0, tmp1)

    return( push!(tmp2_1, tmp2_2) )
end

julia

2018/01/11 18:46

Byun Seongjun 변성준

x <- c(-1, 1, 3, -2, 2)

specialSort <- function(x){
  n <- length(x)
  minus <- NULL
  plus <- NULL

  for (i in 1 : n){
    if(x[i] < 0){
      minus <- c(minus,x[i])
    }  
    else{
      plus <- c(plus, x[i])
    }
  }
ans <- c(minus, plus)
ans
}

2018/01/15 14:45

Cheolmin SON

#1.
x=[1,3,-2,2,-3,1]
li_p=[]
li_n=[]
for i in x:
    if i<0:
        a.append(i)
    elif number>=0:
        b.append(i)
print(a+b)

#2. list comprehension

list_positive=[i for i in x if i>=0]
list_negative=[i for i in x if i<0]
print(list_negative+list_positive)


2018/01/16 12:00

장창원

s<-c(-1,1,3,-2,2,-1,0,7,-6)
sort(c(subset(s,s<0),subset(s,s==0),subset(s,s>0)),decreasing = F)

p<-NULL
m<-NULL
result<-NULL
for(i in 1:NROW(s)){
  if(s[i]<0){
    m<-c(m,s[i])
  }else if(s[i]>=0){
    p<-c(p,s[i])
  }
  result<-c(m,p)
}
result[order(result,decreasing=F)]

2018/01/16 17:31

Dong-il kim

lis = [-1, 1, 3, -2, 2]
def SpecialSort(lis):
    listForNega = []
    listForPosi = []
    count = 0
    for i in lis:
        if i == 0 : count += 1
        elif i < 0 :
            listForNega.append(i)
        else :
            listForPosi.append(i)
    if count == 0 :
        return listForNega + listForPosi
    else :
        return listForNega + [0] + listForPosi

if __name__ == "__main__" :
    print(SpecialSort(lis))

2018/01/21 21:44

Shin

Python 3.6

arr = [-1, 1, 3, -2, 2]
print([i for i in arr if i < 0] + [i for i in arr if i >= 0])

2018/01/25 17:13

Taesoo Kim

def specialsort(list):
    plus = []
    minus = []
    for i in list:
        if i >= 0:
            plus.append(i)
        else:
            minus.append(i)
    return minus+plus

2018/02/03 16:44

김동하

number = input().split(" ")
number = [int(i) for i in number]
minus =[]
for i in number : 
    if(i<0) :
        minus.append(i)
        del number[number.index(i)]
    else :
        continue
for i in number :
    minus.append(i)

number=minus

print(number)

2018/02/06 10:39

shangom (H.S.G)

# 파이썬

sample = [-1, 1, 3, -2,2]
answer = [x for x in sample if x < 0] + [x for x in sample if x >= 0]
print(answer)

2018/02/06 13:43

olclocr

var _primary = [-1, 1, 3, -2, 2];

function _align (x) {
  var _get = [];
  for (var i = 0; i < x.length; i++) {
    if (x[i] < 0) {
      _get.push(x[i]);
    };
  };
  for (var i = 0; i < x.length; i++) {
    if (x[i] >= 0) {
      _get.push(x[i]);
    };
  };
return _get;
};



console.log(_align(_primary));

2018/02/06 21:39

Yungbin Kim

import java.util.*;

public class Main { public static void main(String[] args) { Scanner scanf=new Scanner(System.in); int[] arr= {-1, 1 ,3 ,-2 ,2}; int cnt=0; int cnt2=0; ArrayList arr2=new ArrayList();

    for(int i=0; i<arr.length; i++) {
        if(arr[i]<0) {
            arr2.add(arr[i]);
        }
    }
    for(int i=0; i<arr.length; i++) {
        if(arr[i]>=0) {
            arr2.add(arr[i]);
        }
    }
    for(int i=0; i<arr2.size(); i++) {
        System.out.println(arr2.get(i));
    }

}

}```{.java}

```

2018/02/07 00:44

즈스크

파이썬입니다.

real=[-1,1,3,-2,3]
front=[]
back=[]
for x in real:
    if x<0:front+=[x]
    else:back+=[x]
realsort=front+back

2018/02/07 14:00

추천은 다 읽음

def special_sort():
    s=[]
    i=0
    while i<5:

        s.append(int(input('type ints')))
        i +=1
    print s

    i=0
    minus=[]
    plus=[]

    while i<5:
        if s[i]<0:
            minus.append(s[i])
        elif s[i]>0:
            plus.append(s[i])
        i +=1
    i=0 
    while i<len(plus):
        minus.append(plus[i])
        i +=1

    print(minus)

2018/02/12 15:39

Da ne

negative_list=[]
positive_list=[]
num_list=[-1,-2,5,-6,1,3,5,-2,5,3]

for k in num_list:
    if k>0:
        positive_list.append(k)
    if k<0:
        negative_list.append(k)

num_list=negative_list+positive_list

print(num_list)

2018/02/15 04:12

D B

#include <Stdio.h>

int main(){
    int arr[50];
    int num=0;
    int len=0, temp;
    int i=0;
    char c=0;
    while(c!='\n'){
        scanf("%d%c",&num,&c);
        arr[len++]=num;
    }/* 음수는 앞으로, 양수는 뒤로 */
    while(i!=len-1){    // i값이 len-1이라면 정렬 끝
        if(arr[i]>0){
            if(arr[i+1]<0){
                temp=arr[i+1];
                arr[i+1]=arr[i];
                arr[i]=temp;
                i=0;
            }
        }
        i++;
    }
    for(i=0; i<len; i++)    printf("%d ",arr[i]);
}

2018/02/19 22:13

gudrhrehd123

public class SpecialSort {

    ArrayList<Integer> minusList = new ArrayList<Integer>();
    ArrayList<Integer> plusList = new ArrayList<Integer>();
    ArrayList<Integer> resultList = new ArrayList<Integer>();

    public void minusListAdd(Integer item){
        minusList.add(item);
    }

    public void plusListAdd(Integer item) {
        plusList.add(item);
    }

    public void setArraylist(int[] arraylist) {
        for(int i = 0; i < arraylist.length; i++) {
            if(arraylist[i] >= 0) {
                plusListAdd(arraylist[i]);
            } else {
                minusListAdd(arraylist[i]);
            }
        }
    }

    public void resultListAdd() {
        for(int i = 0; i < minusList.size(); i++) {
            resultList.add(minusList.get(i));
        }
        for(int i = 0; i < plusList.size(); i++) {
            resultList.add(plusList.get(i));
        }
    }

    public void show() {
        for(int i = 0; i < resultList.size(); i++) {
            System.out.print(resultList.get(i) + ",");
        }
        System.out.println();
    }

}

2018/02/20 17:06

초초보

자바입니당

package CodingDojang;
import java.util.*;

class GoogleSort {
    private static int[] specialSort(int[] _input) {
        int temp;

        for(int i = 0; i < _input.length - 1; i++) {
            for(int j = (_input.length - 2 - i); j >= 0; j--) {
                if(_input[j] >= 0 && _input[j+1] < 0) {
                    temp = _input[j];
                    _input[j] = _input[j+1];
                    _input[j+1] = temp;
                }
            }
        }

        return _input;
    }

    public static void main(String args[]) {
        int[] input = {1,3,4,7,-5};
        int[] output;

        output = specialSort(input);

        for(int i = 0; i < output.length; i++) {
            System.out.printf("%d ", output[i]);
        }
    }
}

2018/02/27 14:37

sangw0804


public class SpecialSort {

    public static void main(String[] args) {
        int[] arr = {-1, 1, 3, -2, 2};
        int[] ansArr = new int[arr.length];

        for (int i = 0; i < ansArr.length; i++) {
            ansArr[i] = 0;
        }

        int cnt = 0;
        for (int i = 0; i < ansArr.length; i++) {
            if(arr[i]<0) {
                ansArr[cnt] = arr[i];
                cnt++;
            }
        }

        cnt = ansArr.length-1;
        for (int i = ansArr.length-1 ; i >= 0; i--) {
            if(arr[i]>0) {
                ansArr[cnt] = arr[i];
                cnt--;
            }
        }

        for (int i = 0; i < ansArr.length; i++) {
            System.out.print(ansArr[i] + " ");
        }
    }

}

2018/03/06 16:01

강성민

import random

def main():
    pass
    n_num = 0
    p_num = 0

    n = random.randrange(4, 9)
    nums = []

    for i in range(0, n):
        nums.append(int(input()))

    n_index = []
    p_index = []
    for i in range(0, n):
        if nums[i] < 0:
            n_index.append(i)
        else:
            p_index.append(i)

    sort_list = []
    for n in n_index:
        sort_list.append(nums[n])
    for p in p_index:
        sort_list.append(nums[p])

    print(sort_list)

main()

2018/03/06 22:53

이승훈

def specialsort(*numbers):
    minus = []
    plus = []
    for deviding in numbers:
        if deviding > 0: plus.append(deviding)
        else: minus.append(deviding)
    return minus + plus

Python 3

2018/03/07 20:20

myyh2357

//자바 선택정렬을 약간 달리해봤습니다. package Q1;

public class Q28 {

public static void main(String[] args) { int emp; int[] arr = {-1,8,5,45,-6,-8,10,15,91,-46,-22,-84,46,-78,-62}; for(int i = 0; i0 &&arr[j+1]<0) { emp = arr[j]; arr[j]= arr[j+1]; arr[j+1]= emp; } } } for (int i=0; i<arr.length;i++) { System.out.print(arr[i] +" "); } } }

2018/03/08 16:42

김원응

'''
n개의 정수를 가진 배열이 있다. 이 배열은 양의정수와 음의 정수를 모두 가지고 있다. 이제 당신은 이 배열을 좀 특별한 방법으로 정렬해야 한다.

정렬이 되고 난 후, 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다. 또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다.

예. -1 1 3 -2 2 ans: -1 -2 1 3 2.
'''

sample = [-1, 1, 3, -2, 2]

minus = []
plus = []

for i in sample:
    if i < 0:
        minus.append(i)
    else:
        plus.append(i)
result = []
result = minus + plus
print(result)

2018/03/13 00:11

Jonas_Jonasson

파이썬 입니다

import random
N = list([random.randint(-100, 100) for i in range(30)])
n1, n2 = [], []
for i in range(len(N)):
    if N[i] < 0:
        n1.append(N[i])
    else:
        n2.append(N[i])
print(' 난수 배열 : ', N, '\n','정렬 배열 : ', n1+n2)

2018/03/13 11:18

Hyuk

# sol.1
lst = [-1,1,3,-2,2]
x = []
y = []
for i in lst:
    if i < 0:
        x.append(i)
    else:
        y.append(i)
print(x + y)

# sol.2
lst = [-1,1,3,-2,2]
def specialSort(lst):
    lst1 = lst[:]
    x = []
    cnt = 0
    for i in range(len(lst1)):
        if lst1[i] < 0:
            x.insert(cnt,lst1[i])
            cnt += 1
        else:
            x.append(lst1[i])
    return x
specialSort(lst)  # [-1, -2, 1, 3, 2]

2018/03/13 17:51

TAE_HYO KIM

"""
Special Sort
먼저 3개의 리스트를 선언.
첫번째 리스트에 임의의 숫자를 저장.
리스트의 인덱스를 이용하여 음의정수인지, 양의정수인지 확인
음의정수이면 리스트 2번째에, 양의정수이면 리스트 3번째에 저장
리스트 2,3을 더해서 저장 후 출력.
"""
a = [-1,1,3,-2,2]
b, c = [],[]
for i in a:
    if i < 0:
        b.append(i)
    else:
        c.append(i)
result = b + c
print(result)

2018/03/15 18:10

DEMIAN

import java.util.Scanner;

public class Sort{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        int i,j,k,r,temp;

        System.out.println("몇 개의 정수를 배열하시겠습니까?");
        int input = sc.nextInt();
        int [] n = new int [input];

        System.out.println(input + "개의 정수를 입력해주세요.");
        for(i=0;i<input;i++){
            n[i] = sc.nextInt();
        }

        for(j=0;j<input;j++){
            for(k=0;k<input-1;k++){
                if(n[k]>=n[k+1]){
                temp=n[k];
                n[k]=n[k+1];
                n[k+1]=temp;
                }
                else;
            }
        }

        System.out.print("배열 결과는 ");

        for(r=0;r<=input-1;r++){
        System.out.print(n[r] + " ");
        }

        System.out.println("입니다.");
    }
}

2018/03/16 17:01

배혜민

Swift입니다.

var inputArray = [-1, 1, 3, -2, 2];
print ( inputArray.filter { $0 < 0} + inputArray.filter {$0 >= 0})

2018/03/18 06:15

졸린하마

def special_sort(lis) :
    pos = []
    nega = []
    for i in lis :
        if i > 0 : pos.append(i)
        else: nega.append(i)
    nega.extend(pos)
    return nega

print(special_sort([-1,1,3,-2,2]))

2018/03/19 16:23

yijeong

Common Lisp

(defun special-sort (li)
  (flet ((test (x)
           (< x 0)))
    (append (remove-if-not #'test li) (remove-if-not (complement #'test) li))))

(special-sort '(-1 1 3 -2 2))

(-1 -2 1 3 2)

2018/03/20 12:39

리스프

import java.util.Arrays;

public class SpecialSort {

    public static int[] minusArray(int[] array){

        int count = 0;

        for(int i=0; i< array.length; i++){
            if(array[i] < 0){
                count++;
            }
        }

        int[] minusArray = new int[count];

        int minusCount = 0;

        for(int i = 0; i < array.length ; i++){
            if(array[i] < 0){
                minusArray[minusCount++] = array[i];
            }
        }

        return minusArray;
    }
    public static int[] plusArray(int[] array){

        int count = 0;

        for(int i=0; i< array.length; i++){
            if(array[i] > 0){
                count++;
            }
        }

        int[] plusArray = new int[count];

        int plusCount = 0;

        for(int i = 0; i < array.length ; i++){
            if(array[i] > 0){
                plusArray[plusCount++] = array[i];
            }
        }

        return plusArray;
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] array = {-1, 1, 3, -2, 2};

        int[] array1 = minusArray(array);
        int[] array2 = plusArray(array);

        int[] array3 = new int[array1.length + array2.length];

        System.arraycopy(array1, 0, array3, 0, array1.length);
        System.arraycopy(array2, 0, array3, array1.length, array2.length);

        System.out.println(Arrays.toString(array3));


    }

}

2018/03/20 23:31

김태훈

arr = [-1,1,3,-2,2]
minorArr = []
positiveArr = []

for i in range(len(arr)):
    if arr[i] < 0:
        minorArr.append(arr[i])
    else:
        positiveArr.append(arr[i])

print("\n")
minorArr.sort(reverse=True)

resultArr = minorArr+positiveArr

for i in range(len(resultArr)):
    print(resultArr[i])


2018/03/21 16:40

bnewkk

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PracticeWW
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] arr1 = { -1, 1, 3, -2, 2 };
            int[] arr2= new int[5];
            int index = 0;

            foreach (var a in arr1)
            {
                if (a < 0)
                {
                    arr2[index++] = a;
                }
            }

            foreach (var a in arr1)
            {
                if (a > 0)
                {
                    arr2[index++] = a;
                }
            }

            foreach (var a in arr2)
                Console.WriteLine(a);
        }
    }
}

2018/03/22 13:57

정관영

    public static String specialSort(int[] iArr) {
        int[] tmpArr1 = new int[iArr.length];
        int[] tmpArr2 = new int[iArr.length];
        int j = 0;
        int k = 0;
        for(int i = 0; i < iArr.length; i++) {
            if(iArr[i] < 0) tmpArr1[j++] = iArr[i];
            else tmpArr2[k++] = iArr[i];
        }
        for(int i = 0; i < j; i++) {
            iArr[i] = tmpArr1[i];
        }
        for(int i = j, l = 0; i < j + k; i++, l++) {
            iArr[i] = tmpArr2[l];
        }
        String[] strArr = Arrays.stream(iArr).mapToObj(String::valueOf).toArray(String[]::new);
        return String.join(", ", strArr);
    }

2018/03/27 14:38

이준석

public static int[] sort(int[] arr){
        int poArr[] = new int[arr.length];
        int neArr[] = new int[arr.length];
        int resArr[] = new int[arr.length];
        int neCnt = 0,poCnt = 0;

        for(int i = 0; i< arr.length; i++){
            if(arr[i]<0){
                neArr[neCnt] = arr[i];
                neCnt++;
            }else{
                poArr[poCnt] = arr[i];
                poCnt++;
            }
        }


        Arrays.sort(poArr);
        Arrays.sort(neArr);

        for(int i =0; i< resArr.length ; i++){
            if(neArr[i]!=0){
                resArr[i] = neArr[i];
            }else{
                if(poArr[i]!=0){
                    resArr[i] = poArr[i];
                }
            }
        }
        return resArr;
    }

2018/03/27 15:03

김준기

// Special Sort
package main

import (
    "fmt"
)

func main() {
    var input []int
    input = []int{-1, 1, 3, -2, 2}
    rstNeg, rstPos := []int{}, []int{}
    for _, v := range input {
        if v < 0 {
            rstNeg = append(rstNeg, v)
        } else {
            rstPos = append(rstPos, v)
        }
    }
    rst := []int{}
    rst = append(rst, rstNeg...)
    rst = append(rst, rstPos...)
    fmt.Println(rst)
}

2018/03/28 11:54

mohenjo

python3 입니다

numbers = [-1, 1, 3, -2, 2]

negative = []
positive = []
for number in numbers:
    if number < 0:
        negative.append(number)
    else:
        positive.append(number)

result = negative + positive
print(result)

2018/04/01 21:50

totorodot

#include <stdio.h>
#include <stdlib.h>

int special_sort(int* arr_ray, int n, int* temp)
{
    int i, j=0;
    for(i=0;i<n;i++)
    {
        if(arr_ray[i]<0)
        {
            temp[j] = arr_ray[i];
            j++;
        }
    }
    for(i=0;i<n;i++)
    {
        if(arr_ray[i] >= 0)
        {
            temp[j] = arr_ray[i];
            j++;
        }
    }
}

int main()
{
    int *arr, i, j, n;
    printf("입력할 정수 개수를 입력하세요 : ");
    scanf("%d", &n);
    arr = (int*)malloc(sizeof(int)*n); //동적메모리 할당 
    int num[sizeof(int)*n];
    int *result = num; //결과값을 받을 포인트 배열에 num의 주솟값을 넣는다. 
    for(i=0;i<n;i++)
    {
        printf("%d번째 정수를 입력하세요 : ", i+1);
        scanf("%d", arr+i); // &arr[i]로 대체가능 
    }
    special_sort(arr, n, result); //스페셜 소트 호출!! 


    for(j=0;j<n;j++)
        printf("%d ", num[j]);
        free(arr);
    return 0;
}

2018/04/04 17:39

효준이아빠

#0이 나올떄 까지 문자열을 입력 받음

primarystr = []
n = 0

while(1):
    n = int(input("정수를 입력하시오: "))
    if n == 0:
        break
    primarystr.append(n)

print(list(primarystr))
length = int(len(primarystr))
print("리스트의 길이: ", length)

#양수리스트, 음수리스트 생성

pos = []
neg = []

#primarystr를 앞에서 부터 검사하며 양수를 pos에, 음수를neg에 순서대로 저장

for i in range(length):
    k = primarystr[i]
    if primarystr[i] > 0:
        pos.append(k)
    else:
        neg.append(k)

ans = neg + pos
print(list(ans))

2018/04/05 14:41

서지원

#0이 나올떄 까지 문자열을 입력 받음

primarystr = []
n = 0

while(1):
    n = int(input("정수를 입력하시오: "))
    if n == 0:
        break
    primarystr.append(n)

print(list(primarystr))
length = int(len(primarystr))
print("리스트의 길이: ", length)

#양수리스트, 음수리스트 생성

pos = []
neg = []

#primarystr를 앞에서 부터 검사하며 양수를 pos에, 음수를neg에 순서대로 저장

for i in range(length):
    k = primarystr[i]
    if primarystr[i] > 0:
        pos.append(k)
    else:
        neg.append(k)

ans = neg + pos
print(list(ans))

2018/04/05 14:50

서지원

import java.util.ArrayList;


public class SpecialSort_updated {

    public static void main(String[] args) {
        String[] arr = {"-1", "1", "3", "-2", "2"};
        ArrayList minus = new ArrayList();
        ArrayList plus = new ArrayList();

        for(int i=0; i<arr.length; i++) {
            if(arr[i].startsWith("-")){
                minus.add(arr[i]);
            } else {
                plus.add(arr[i]);
            }
        }

        for(int i=0; i<minus.size(); i++){
            System.out.println(minus.get(i));
        }

        for(int i=0; i<plus.size(); i++){
            System.out.println(plus.get(i));
        }

    }
}

2018/04/05 22:17

이호영

public void Special()
{
    int[] nArraySort = {-1, 1, 3, -2, 2 };
    int nIndex = 0;

    int[] nArrayComp = new int[5];

    for(int i=0; i< nArraySort.Length; i++)
    {
        if (nArraySort[i] < 0)
        {
            nArrayComp[nIndex++] = nArraySort[i];
        }
    }

    for (int i = 0; i < nArraySort.Length; i++)
    {
        if (nArraySort[i] > 0)
        {
            nArrayComp[nIndex++] = nArraySort[i];
        }
    }
    foreach(var item in nArrayComp)
    {
        Console.Write(item  + " ");
    }
    Console.WriteLine();
}

2018/04/07 16:43

정태식

def special_sort(a):
    list=[]
    a = a.split()
    l = len(a)
    for i in range(0,l):
        source1 = int(a[i])
        if source1 < 0:
            list.append(source1)
    for j in range(0, l):
        source2 = int(a[j])
        if source2 >= 0:
            list.append(source2)
    return print(list)

a = input("Enter the integers: ", )
special_sort(a)

2018/04/13 23:26

KangSan Jeon

import java.util.ArrayList;
import java.util.Scanner;

public class 2 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        ArrayList<Integer> a = new ArrayList<Integer>();
        int plus = 0;
        int minus = 0;
        while((scan.hasNextInt())){
            int n = scan.nextInt();
            System.out.println(n);
            if(n >= 0)
                a.add((plus++) + minus,n);
            else
                a.add(plus + (minus++), n);
        }
        for(int i : a){
            System.out.print(i+ " ");
        }
}
}

2018/04/15 12:26

聂金鹏

C

#include <stdio.h>
#define N 10

int main() {
    int n[N] = { 0, }, i, cnt = 0, t[N], j = 0;
    for (i = 0; i < N; i++) {
        scanf_s("%d", &n[i]);
        if(n[i]>=0)
            t[cnt++] = n[i];
    }

    for (i = 0; i < N; i++) 
        if (n[i] < 0) 
            n[j++] = n[i];
    cnt=j;
    for (i = 0; i < N - cnt; i++) n[j++] = t[i];

    for (i = 0; i < N; i++) printf("%d ", n[i]);
    printf("\n");

    return 0;
}

2018/04/16 22:57

박준홍

my_list = [-1,1,3,-2,2]

positive=[]
negative =[]

for x in my_list:
    if x >0:
        positive.append(x)
    else : 
        negative.append(x)

final_list=[negative+positive]

print (final_list) 

2018/05/01 13:07

raidria

num = [-1,1,3,-2,2]

def sor(num):
    minus=[]
    plus=[]
    for i in num:
        if i < 0:
            minus.append(i)
        else:
            plus.append(i)
    result = minus+plus
    return result
print(sor(num))

2018/05/02 15:24

danbi

def PosNeg(lst): Pos_l = [] Neg_l = [] for number in lst: if number > 0: Pos_l.append(number) elif number < 0: Neg_l.append(number) result = Neg_l + Pos_l return result

l = [-1,1,3,-2,2] print(PosNeg(l))

2018/05/05 01:26

최우성

  public static void main(String[] args) throws Exception { 
        int[] nums = {-1, 1, 3, -2, 2};

        for (int i=0; i<nums.length-1; i++) {
            for (int j=0; j<nums.length-2; j++) {
                if(nums[j] > nums[j+1] && !(nums[j] < 0 && nums[j+1] < 0)) {
                    int tmp = nums[j];
                    nums[j] = nums[j+1];
                    nums[j+1] = tmp;
                }
            }
        }
        System.out.println(Arrays.toString(nums));
    }// 자바입니다. 기본적인 버블정렬인데 비교 대상이 음수가 아닐 경우에만 적용시켰습니다

2018/05/05 12:30

정몽준

a = [-1,1,3,-2,2]
b=[];c=[]
for i in range(len(a)):
    if a[i] < 0:
        b.append(a[i])
    else : c.append(a[i])

print(b+c)

2018/05/05 18:01

박종환

파이썬으로 작성. 간단한 버블배열

n = int(input("리스트의 크기: "))

list = []

for i in range (0, n):
    list.append(int(input("정수 입력: ")))

for i in range (0, n - 1):
    flag = False

    for j in range (0, n - 1):
        if (list[j] > 0 and list[j + 1] < 0):
            list[j : j + 2] = reversed(list[j : j + 2])
            flag = True
    if flag == False:
        break;

for i in range (0, n):
    print(list[i], end=' ')

2018/05/08 20:15

한카일

Array = [-1, 1, 3, -2, 2]
Array1 = []
Array2 = []
for i in Array:
    if i < 0:
        Array1.append(i)
    else:
        Array2.append(i)
Array = Array1 + Array2

print(Array)

Python 딱 생각나는대로 풀었습니다.

2018/05/08 23:21

김산양

python

a=[-1, 1, 3, -2, 2]
nega=[]
posi=[]
for i in range(len(a)):
    if a[i]<0:
        nega.append(a[i])
    elif a[i]>0:
        posi.append(a[i])
print(nega+posi)

2018/05/11 17:31

관관


public static void main(String[] args) {

        int num[] = {-1, 1, 3, -2, 2};
        ArrayList<Integer> list = new ArrayList<>();

        for (int i = 0; i < num.length; i++) {
            if (num[i] < 0) {
                list.add(num[i]);
            }
        }
        for (int i = 0; i < num.length; i++) {
            if (num[i] > 0) {
                list.add(num[i]);
            }
        }
        System.out.println(list);
    }

그냥 순서대로 넣었네요.. 효율은 갖다버린 코드

2018/05/11 19:15

TK S

num=list
num1=list
num=input("숫자입력하시오:").split()
num.sort()
num1=list(map(int,num))
print(num1)

2018/05/13 00:31

빅디펜스

public class Test{
    public static void main(String args[]) throws Exception{
        int[] list = {-1,1,-3,3,-2,2,4};
        int length = list.length-1;
        for(int i=0; i<length; i++){
            for(int j=0; j<(length-i); j++){
                if(list[j] > 0 && list[j+1] < 0){
                    int k = list[j];
                    list[j] = list[j+1];
                    list[j+1] = k;
                }
            }
        }
        for(int k : list) {
            System.out.print(k+" ");
        }
    }
}

2018/05/14 15:39

배혁남

int main()
{
    int arrNum[5] = { -4, 1, 3, -2, -1 };

    while (true)
    {
        bool isSwitch = false;

        for (int i = 0; i < 5; i++)
        {
            if (arrNum[i] > 0)
            {
                if (i + 1 < 5)
                {
                    if (arrNum[i + 1] < 0)
                    {
                        int temp;
                        temp = arrNum[i];
                        arrNum[i] = arrNum[i + 1];
                        arrNum[i + 1] = temp;
                        isSwitch = true;
                    }
                }
            }
        }

        if (!isSwitch)
        {
            break;
        }
    }

    for (int i = 0; i < 5; i++)
    {
        cout << arrNum[i] << " ";
    }
    cout << endl;
    return 0;
}

2018/05/18 20:44

삼색털고양이

 function aaa(){
 const minusArray = [];
 const plusArray = [];
 const ar = [-1,1,3,-2,2];

for(let e of ar){
 if(e>=0){
    plusArray.push(e)
  } else{
    minusArray.push(e)
  }
  }
const c  = minusArray.concat(plusArray)

console.log(c);

```

2018/05/20 16:08

채상엽

파이썬 3.6 제출합니다.

임의의 리스트를 받아서 정답을 출력합니다.

def special_sort(num_list):
    def positive(x):
        return x >= 0

    def negative(x):
        return x < 0

    positive_list, negative_list = [], []
    positive_list = positive_list + list(filter(positive, num_list))
    positive_list = sorted(positive_list)
    negative_list = negative_list + list(filter(negative, num_list))
    negative_list = sorted(negative_list)
    negative_list = list(reversed(negative_list))
    return negative_list + positive_list

special_sort([-5,3,-1,5,-7,1,-2,0])


[-1, -2, -5, -7, 0, 1, 3, 5]

2018/05/23 23:04

Gerrad kim

public class test {
    public static void main(String[] args) {
        int[] array = { -1, 1, 3, -2, 2 };
        int[] temp = new int[array.length];
        for (int i = 0; i < array.length; i++)
            if (array[i] < 0)
                temp[i] = array[i];
        Arrays.sort(temp);
        for (int i = array.length - 1; i > -1; i--)
            if (temp[i] != 0)
                System.out.print(temp[i] + " ");
        for (int i = 0; i < array.length; i++)
            if (array[i] > -1)
                System.out.print(array[i] + " ");
    }
}

2018/05/25 14:11

김지훈

Scanner sc = new Scanner(System.in); int count; int data; ArrayList Positive = new ArrayList<>(); ArrayList negative = new ArrayList<>();

public SpecialSort() {
    while(true) {

        if(count++ > 4) { break; }

        System.out.print("숫자를 입력해주세요 : ");
        data = sc.nextInt();

        if(data > 0) {
            Positive.add(data);
        } else {
            negative.add(data);
        }           
    }
    System.out.println(negative + ", " +  Positive);
}

2018/05/28 18:25

이병덕

    Scanner sc = new Scanner(System.in);
    int count;
    int data;
    ArrayList<Integer> Positive = new ArrayList<>();
    ArrayList<Integer> negative = new ArrayList<>();

    public SpecialSort() {
        while(true) {

            if(count++ > 4) { break; }

            System.out.print("숫자를 입력해주세요 : ");
            data = sc.nextInt();

            if(data > 0) {
                Positive.add(data);
            } else {
                negative.add(data);
            }           
        }
        System.out.println(negative + ", " +  Positive);
    }

2018/05/28 18:26

이병덕

def google(list):
    minus = [x for x in list if x<0]
    plus = [x for x in list if x>=0]
    print(minus+plus)

google([1,5,-5,9,-7,-2])

2018/05/29 04:01

조성은



public class q28_specialSort {  
    public static void main(String[] args) {

        int[] arr = {-1, 1, 3, -2, 2};

        List<Integer> arrM = new ArrayList<Integer>(); 
        List<Integer> arrP = new ArrayList<Integer>();
        List<Integer> result = new ArrayList<Integer>();
        Integer arrZ = null;

        for(int i = 0 ; i < arr.length ; i++) {
            if(arr[i] < 0) {
                arrM.add(arr[i]);
            }
            else if(arr[i] == 0) {
                arrZ = 0;
            }
            else {
                arrP.add(arr[i]);
            }
        }

        result.addAll(arrM);
        if(arrZ != null) {
            result.add(arrZ);
        }
        result.addAll(arrP);

        System.out.println(result);             

    }
}

2018/05/29 14:43

강동주

Python

test = [-1, 1, 3, -2, 2] # test = list(map(int, input().split(' ')))
neg = list(); pos = list();
for i in test:
    if i < 0:
        neg.append(i)
    else:
        pos.append(i)
print(neg+pos)
#Shorten version
print([i for i in test if i < 0] + [i for i in test if i >= 0])

2018/05/30 15:58

Taesoo Kim

package com.practicejava;

import java.util.Arrays;

public class SortNum {
    public static void main(String[] args) {
        int[] num = { -1, 1, 3, -2, 2 };
        int temp = 0;

        for (int i = 0; i < num.length - 1; i++) {
            if (num[i] > 0 && num[i + 1] < 0) {
                temp = num[i];
                num[i] = num[i + 1];
                num[i + 1] = temp;
                i = 0;
            }
        }
        System.out.println(Arrays.toString(num));
    }
}

2018/06/01 14:23

list_old = [-1, 1, 3, -2, 2]
list_new_p, list_new_n  = [], []

for i in list_old:
    if i < 0:
        list_new_n.append(i)
    else:
        list_new_p.append(i)

print("ans: ", list_new_n + list_new_p)

2018/06/03 19:03

meteor

[지적 환영입니다. 초보라 무조건 하드코딩..]


array = [-1,1,3,-2,2]
minusans = []
plusans = []

for i in array:
    if(i<0):
        minusans.append(i)
    elif(i>0):
        plusans.append(i)

print (minusans+plusans)

2018/06/08 17:13

g06lin

my_list = [-1, 1, 3, -2, 2]

minus_arr = []

for index, val in enumerate(my_list):
    if val < 0:
        temp = my_list.pop(index)
        minus_arr.append(temp)

result = minus_arr + my_list

print(result)

2018/06/08 22:59

Hand

def solting(arr):
    return [num for num in arr if num<0]+[num for num in arr if num>0]

2018/06/10 20:39

박유빈

버블정렬과 유사하게 처리하였습니다.

/**
 * n개의 정수를 가진 배열이 있다. 이 배열은 양의정수와 음의 정수를 모두 가지고 있다. 이제 당신은 이 배열을 좀 특별한 방법으로 정렬해야
 * 한다. 정렬이 되고 난 후, 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다. 또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다.
 * 
 * 예. -1 1 3 -2 2 ans: -1 -2 1 3 2.
 * 
 * @author whitebeard-k
 *
 */
public class SpecialSort {

    public static void main(String[] args) {

        int[] array = { -1, 1, -5, 1, 9, 0, 2, 3, -2, 2, -9 };

        // 첫번째가 음수이면 커서는 두번째 
        int cursor = array[0] < 0 ? 1 : 0;

        for (int i = 1; i < array.length; i++) {

            // 현재 데이터가 음수 이면 cursor 위치에 음수를 넣고 인덱스까지 데이터를 밀어준다. 
            if (array[i] < 0) {
                swap(array, i, cursor);
                cursor++;
            }
        }

        for (int i : array)
            System.out.printf("%2d ", i);
    }

    // cursor에서 index까지 데이터를 밀어준다. 
    private static void swap(int[] array, int index, int cursor) {

        int temp = array[index];
        for (int i = index; i > cursor; i--) {
            array[i] = array[i - 1];
        }

        array[cursor] = temp;
    }
}

2018/06/20 14:01

whitebeard-k

import java.util.*;

public class Shakkur { public static void main(String[] args) { Listnums=new ArrayList(Arrays.asList(-1, 1, 3, -2, 2)); int index=0;

    for(int i=0;i<nums.size();i++) {
        if(nums.get(i)<0) {
            if(i!=index) {
                int add=nums.get(i);
                nums.remove(i);
                nums.add(index, add);
            }
            index++;
        }
    }

    System.out.println(nums);
}

}

2018/06/21 12:13

에에엑

a = [-1, 1, 3, -2, 2]
result = []
result1 = []
for i in a:
    if i < 0:
        result.append(i)
    else:
        result1.append(i)

result.extend(result1)

2018/06/23 17:54

나윤형

array = [-1,1,3,-2,2,0]
print([i for i in array if i<0]+[i for i in array if i==0]+[i for i in array if i>0])

2018/06/24 08:31

Creator

def solution():
    numbers = [-1, 1, 3, -2, 2]
    print(numbers)

    idx = 0
    for i in range(len(numbers)):
        if numbers[idx] > 0:
            numbers.append(numbers.pop(idx))
        else:
            idx += 1

    print(numbers)

2018/06/24 22:01

Jace Alan

class Main {

    public static void main(String[] args) {
        int numArr[] = {-1, 1, 3, -2, 2};
        numArr = sortSpecial(numArr);

        System.out.println(Arrays.toString(numArr));
    }

    static int[] sortSpecial(int[] numArr) {
        ArrayList<Integer> tmp = new ArrayList<Integer>();

        for (int i = 0; i < numArr.length; i++) {
            if (numArr[i] < 0) {
                tmp.add(numArr[i]);
            }
        }

        for (int i = 0; i < numArr.length; i++) {
            if (numArr[i] >= 0) {
                tmp.add(numArr[i]);
            }
        }

        for (int i = 0; i < numArr.length; i++) {
            numArr[i] = tmp.get(i);
        }

        return numArr;
    }

}

2018/06/29 21:20

김성민

neg=[ ]
pos=[ ]

def order(num_list):
    for i in num_list:
        if i < 0:
            neg.append(i)
        elif i >= 0:
            pos.append(i)
    return neg+pos

order([-1,1,3,-2,2])

Python으로 작성

2018/06/30 17:14

김규영

def do(list):
    return [x for x in list if x < 0] + [x for x in list if x > 0]

print(do([-1,1,3,-2,2])

2018/07/04 11:11

nabina

파이썬

def fn(str1):
    list1 = str1.split(" ")
    minus_list = [x for x in list1 if int(x) < 0]
    plus_list = [x for x in list1 if int(x) >= 0]
    print(" ".join(minus_list + plus_list))


fn("-1 1 3 -2 2") 
# ans: -1 -2 1 3 2.

2018/07/06 08:02

WJ K

list=[-1,1,3,-2,2]
ans=[num for num in list if num<0]+[num for num in list if num>0]
print(ans)

2018/07/10 15:01

Jungmin Lee

data=[-1,1,3,-2,2]
plus=[]
minus=[]
for n in data:
    if n>=0:
        plus.append(n)
    else:
        minus.append(n)
print(minus+plus)

2018/07/21 18:05

code_sang

array = [50,9,5,3,7,58,5,0,-5,-7,3,-10,5,-52]  #임의의 배열

array_p = []  #0포함 양의 정수 저장할 배열
array_m = []  #음의 정수 저장할 배열

for i in array:
    if i < 0:
        array_m.append(i)
    elif i >= 0:
        array_p.append(i)

array_sort = array_m + array_p
print(array_m)
print(array_p)
print(array_sort)

<------결과-------> [-5, -7, -10, -52] [50, 9, 5, 3, 7, 58, 5, 0, 3, 5] [-5, -7, -10, -52, 50, 9, 5, 3, 7, 58, 5, 0, 3, 5]

2018/07/24 10:24

민수연

include

include

int main(){ int userInput = 0; scanf("%d", &userInput);

int *numPtr = malloc(sizeof(int) * userInput);

// 할당 동적 메모리에 정수 저장
for(int i =0; i < userInput; i++)
{
    scanf("%d",&numPtr[i]);
}


//음수 먼저 뺴기
for(int i=0; i < userInput; i++)
{
    if(numPtr[i] < 0)  printf("%2d", numPtr[i]);
}

//양수 빼기
for(int i=0; i < userInput; i++)
{
    if(numPtr[i]>0)    printf("%2d", numPtr[i]);
}

}

2018/07/24 11:22

Jaeju An

파이썬입니다

pos,neg = [], []
for x in input().split():
    if int(x) > 0 : pos.append(x)
    else : neg.append(x)
print(" ".join(neg + pos))

2018/07/24 19:43

김준영

c언어입니다. 

#include<stdio.h>
#include<algorithm>
using namespace std;

int main()
{
    int i;
    int a[] = {-1,5,4,2,3,-6,9,-19};
    int len = sizeof(a)/sizeof(int);
    printf("%d \n", len);
    sort(a, a+8);

    for(i=0; i<len; i++)
    {
        printf("%d ", a[i]);
    }

}

2018/07/26 01:12

이우경

import java.util.ArrayList;

public class mainKong {
    public static void main(String[] args) {
        int[] n = {-1, 1, 3, -2, 2};
        ArrayList<Integer> result = new ArrayList<>();

        for(int i = 0; i < n.length; i++){
            if(n[i] < 0){
                result.add(n[i]);
            }
        }
        for(int i = 0; i < n.length; i++){
            if(n[i] == 0){
                result.add(n[i]);
            }
        }
        for(int i = 0; i < n.length; i++){
            if(n[i] > 0){
                result.add(n[i]);
            }
        }

        System.out.println(result.toString());
    }
}

2018/07/26 09:15

PuTa

#구글 전화면접 문제

def sorting(x):
    minus=[]
    plus=[]
    n=len(x)
    for i in range(0,n):
        if x[i]<0:
            minus.append(x[i])
        else:
            plus.append(x[i])

    return minus+plus


print(sorting([-1,1,3,-2,2]))

2018/07/26 14:46

IN K

def sort(numlist):
    list= [num for num in numlist if num<0]+[num for num in numlist if num>=0]
    return list

2018/07/29 23:32

윤지상

파이썬입니다.

def sol(num):
   return [i for i in num if i < 0] + [i for i in num if i >= 0]

print(sol[-1,1,3,-2,2])

2018/08/06 15:30

이홍민

data=[-1,1,3,-2,2]
imsi=[]
result=[]
for i in data:
    if i < 0:
       imsi.append(i) 
    elif i > 0:
        result.append(i)
print(imsi+result)


2018/08/08 15:23

S.H

이 경우에는 리스트에 0이 있을경우 오류가 생길거 같네요 ! - 이홍민, 2018/08/14 18:54
list_num = ['-1', '1', '3', '-2', '2']

list_plus = []
list_minus = []
for i in range(len(list_num)):
    if int(list_num[i]) > 0:
        list_plus.append(list_num[i]) # 0보다 크면 플러스 리스트에 누적
    else:
        list_minus.append(list_num[i]) #0보다 작으면 마이너스 리스트에 누적

print(list_minus + list_plus) #마이너스 리스트를 먼저 출력하고 이어서 플러스 리스트를 출력

2018/08/15 02:03

석진일

저랑 똑같은 생각을 하신 분들이 많이 계시는 군요

def sort1(lis):
     print(list(a for a in lis if a < 0 ) + list(b for b in lis if b > 0))

2018/08/15 20:35

김영성

파이썬은 약어가 매력적이네요.

def s(*n):
    m = [i for i in n if i < 0]
    p = [i for i in n if i > 0]
    return m + p

2018/08/20 02:35

김건우

lst_unsorted = list()
i = 1
n = int(input("array length"))
while i <= n:
    a = int(input("put the number"))
    lst_unsorted.append(a)
    i = i + 1

lst_negative = list()
lst_positive = list()
for i in lst_unsorted:
    if i < 0:
        lst_negative.append(i)
    elif i > 0:
        lst_positive.append(i)
lst_sorted = lst_negative + lst_positive

print(lst_sorted)


저는 python을 사용하였습니다. 리스트 컴프리헨션,, 처음듣네요^^ 배워갑니다~ 그리고 코드를 간결하게 하도록 연습할 필요가 있어보이네요^^ 화이팅합시다.

2018/08/21 23:19

aa

  1. n개의 정수를 가진 배열을 입력으로 받는다.
  2. 첫번째 수부터 검사해서 음수면 음수 배열에, 양수면 양수 배열에 추가한다.
  3. 다음 수로 넘어간다.
  4. 2번 반복
  5. 모든 수를 검사했으면 음의 정수 배열 뒤에 양의 정수 배열을 붙인다.
  6. 음의 정수 배열 내용을 출력한다.
inputData = input("정수 배열을 입력하세요. ").split()
negativeList = list()
positiveList = list()
answerStr = ""

for strElement in inputData:
    elementValue = int(strElement)
    if elementValue < 0:
        negativeList.append(elementValue)
    elif elementValue > 0:
        positiveList.append(elementValue)

for i in positiveList:
    negativeList.append(i)

for element in negativeList:
    answerStr = answerStr + str(element) + " "

print(answerStr)

2018/08/22 00:08

박일규

원글에는 O(n) 시간 복잡도와 O(1) 공간복잡도를 요구하는데 이는 불가능합니다.

음의 정수들을 한 배열에, 다른 배열에 양의 정수를 넣고 반환하게되면 공간 복잡도는 O(n)이 됩니다. 그렇다고 정렬을 쓰게 되면 시간 복잡도가 O(n log n)이고 방법에 따라 O(n^2)가 될 수도 있습니다.

배열이 아니라 리스트였다면 양수를 발견하면 해당 요소를 뒤에 붙여주고 현재 요소를 지우는 형식으로 공간복잡도와 시간복잡도 만족이 가능합니다.

2018/08/25 20:11

*IDLE*

import numpy as np
arr = np.array([-1,2,4,6,7,5,-9])
m = arr[arr < 0]
p = arr[arr > 0]
print(np.append(m,p))


2018/08/26 03:15

박수영

a=input().split()
l=len(a)
lst=[]

for b in range(l):
    for i in range(len(a)):
        if int(a[i])<0:
            lst.append(a.pop(i))
            break

res=' '.join(lst+a)
print(res)

2018/08/27 00:35

전형진

C#

using System;
using System.Linq;

namespace CD028
{
    class Program
    {
        static void Main()
        {
            int[] input = { -1, 1, 3, -2, 2 };

            int[] result = input.Where(e => e <= 0).Concat(input.Where(e => e > 0)).ToArray();
            Console.WriteLine(string.Join(", ", result));
        }
    }
}

2018/08/30 11:33

mohenjo

l1= input("input list : ")

l1 = list(l1)



l2 = [i for i in l1 if i < 0] + [i for i in l1 if i > 0]

print(l2)

2018/09/01 12:15

오왕씨

list = [-1, 1, 3, -2, 2]

def sort_list(list): l1, l2 = [], [] for li in list: if li < 0: l1.append(li) else: l2.append(li) result = l1 + l2 return result print(sort_list(list)) 파이썬 3.7 버전입니다. 아직 파이썬 초보라서 많이 부족합니다.

2018/09/10 15:50

문승현

// =============================================
        int[] n = { -1, 1, 3, -2, 2 };
        int[] minus = new int[n.length];

        for (int i = 0; i < n.length; i++) {
            if (n[i] < 0) {
                minus[i] = n[i];
            }
        }
        Arrays.sort(minus);
        for (int i = minus.length - 1; i > -1; i--) {
            if (minus[i] != 0) {
                System.out.print(minus[i] + " ");
            }
        }
        for (int j = 0; j < n.length; j++) {
            if (n[j] > -1) {
                System.out.print(n[j] + " ");
            }
        }

2018/09/14 21:43

채규빈

#pragma warning (disable : 4996)
#include <stdio.h>
int main()
{
    int mat1[5] = { 0 };
    int mat2[5] = { 0 };
    int i = 0, temp = 0;
    for (i = 0; i < 5; i++)
    {
        printf("정수를 입력하세요 : ");
        scanf("%d", &temp);
        if (temp < 0)
        {
            mat1[i] = temp;
        }
        else
        {
            mat2[i] = temp;
        }
    }
    for (i = 0; i < (sizeof(mat1) / sizeof(int)); i++)
    {
        if (mat1[i] != 0)
        {
            printf("%d ", mat1[i]);
        }
    }
    for (i = 0; i < (sizeof(mat2) / sizeof(int)); i++)
    {
        if (mat2[i] != 0)
        {
            printf("%d ", mat2[i]);
        }
    }
    return 0;
}

C입니다. 좀 더 간단하고 명료하게 할 수 있을 것 같은데 감이 안 잡히네요...

2018/09/17 16:46

OverEasy

def sort_by_sign(src):
    negatives = []
    positives = []
    for i in src:
        if i < 0:
            negatives.append(i)
        else:
            positives.append(i)
    return negatives + positives

if __name__ == "__main__":
    source = [-1, 1, 3, -2, 2]
    print sort_by_sign(source)

그냥 심플한 접근...

2018/09/21 03:43

RumbleBang

def sorting(a):
    count=0
    for i in range (0, len(a)) :
        if a[i]<0 :
            a.insert(count,a.pop(i))
            count+=1
            print(a)
    return a

2018/09/25 12:16

쨔이

처음에는 리스트로 입력, 출력했다가 문제처럼 입출력하고 싶어서 이렇게 해봤습니다!

def new_sort():
    numbers = input("Enter: ")
    list = numbers.split()
    result = []
    for item in list:
        if int(item) < 0:
            print(item, end = " ")
    for item in list:
        if int(item) > 0:
            print(item, end = " ")

new_sort()

2018/09/26 12:25

윤종석

def sort(args:List[Int]): List[Int] = {
        args.filter(_ < 0) ++ args.filter(_ == 0) ++ args.filter(_ > 0)    
  }

2018/09/30 23:34

Jaeyeon Jo

#Special Sort

import numpy as np

#n개의 정수 무작위로 추출
n = 10
int = np.random.randint(-n,n, n)
int = list(int)

#음의 정수와 양의 정수를 구분해서 저장
neg_list = []
pos_list = []
for i in range(n):
    if int[i] < 0:
        neg_list.append(int[i])
    else:
        pos_list.append(int[i])

#분리된 음의 정수와 양의 정수를 합쳐준다.
final = neg_list + pos_list
print(int)
print(final)

2018/10/03 23:05

달품

num_list = [-1, 1, 3, -2, 2]

low_list = []
up_list = []

for i in num_list:
    if int(i) < 0:
        low_list.append(i)
    else:
        up_list.append(i)

print(low_list + up_list)

2018/10/04 00:05

농창

def special_sort(a): b=[] for i in range(0,len(a)): if(a[i](-1)>0): b.append(a[i]) for i in range(0,len(a)): if(a[i](-1)<0): b.append(a[i]) return b

2018/10/15 15:01

최 윤준

qlist = [-1, 1, 3, -2, 2, 0,10,8,-20,7,-9,21] alist = [] mindex = 0 for index, i in enumerate(qlist): #for 반복문으로 요소의 값을 출력할 때 인덱스도 함께 출력하고 싶을 수도 있습니다. 이때는 enumerate를 사용합니다. if index == 0: alist.append(i) if i < 0: mindex = index else: if i < 0:
mindex = mindex+1 alist.insert(mindex, i) else: if i == 0: mindex = mindex+1 alist.insert(mindex,i) mindex = mindex-1 else: alist.append(i)

print(alist)

2018/10/22 13:34

Dae Su Jeong

num_list=list(input().split())
cn=len(num_list)
for x in range(0,cn):
    num_list[x]=int(num_list[x])
for k in range(1,cn):
    if num_list[0]>=0:
        for x in range(0,cn):
            if num_list[x]<0 and num_list[x-1]>0:
                tmp=num_list[x]
                num_list[x]=num_list[x-1]
                num_list[x-1]=tmp
    elif num_list[0]<0:
        for x in range(1,cn):
            if num_list[x]<0 and num_list[x-1]>0:
                tmp=num_list[x]
                num_list[x]=num_list[x-1]
                num_list[x-1]=tmp
print(num_list)

2018/10/27 06:11

빅디펜스

array = [-1, 1, 3, -2, 2]

plus = []
minus = []

for i in array:
    if i > 0:
        plus.append(i)
    elif i < 0:
        minus.append(i)

print(minus + plus)


2018/10/29 13:00

그사람 남한 볼 수 있어요

#include <stdio.h>

void sort(int* pArr) {
    int negativeArr[5];
    int positiveArr[5];
    int i = 0, po_index = 0, ne_index = 0;

    for(i = 0; i<5; i++) {
        if(pArr[i] <= 0) {
            negativeArr[ne_index++] = pArr[i];
        } else {
            positiveArr[po_index++] = pArr[i];
        }
    }

    for(i=0; i<ne_index; i++) {
        printf("%d, ", negativeArr[i]);
    }
    for(i=0; i<po_index; i++) {
        printf("%d, ", positiveArr[i]);
    }
}

int main(int argc, const char * argv[]) {
    // insert code here...
    int arr[5] = {-1, 1, 3, -2, 2};

    sort(arr);
    return 0;
}

2018/10/30 21:20

김요셉

def f4(arr):
    pl = []
    mi = []
    for i in range(len(arr)):
        if arr[i] >=0 :
            pl.append(arr[i])
        else:
            mi.append(arr[i])
    mi.extend(pl)
    result = mi
    return result

2018/11/03 18:23

dodoman

python

a=input().split()
b=[]

for i in a:
    if int(i)<0:
        b.append(i)
for i in a:
    if int(i)>0:
        b.append(i)
print(b)

else

a=input().split()
print([i for i in a if int(i)<0]+[i for i in a if int(i)>0])

2018/11/04 22:55

recette

public class KimSanghyeop
{
    public static void main(String[] args)
    {
        int[] arr= {-1,1,3,-2,2,4,5,-5};

        int f1;
        int temp;
        boolean loop=true;
        while(loop)
        {
            loop=false;

            for(f1=0;f1<arr.length-1;f1++)
            {
                if(arr[f1] >0 && arr[f1+1] < 0)
                {
                    temp =arr[f1];

                    arr[f1] = arr[f1+1];
                    arr[f1+1]=temp;
                    loop=true;
                }
            }
        }

        for(f1=0;f1<arr.length;f1++)
        {
            System.out.print(arr[f1] + " ");
        }
    }
}

2018/11/05 15:19

김상협

a <- c(-1, 1, 3, -2, 2)
f <- a[a < 0]
b <- a[a >= 0]
ans <- c(f, b)

2018/11/08 16:28

physche

def sorting(x):
    array = x
    nul1 =[]
    nul2 =[]
    for i in range(0,len(array)):
        if int(array[i]) >0 :
            nul1.append(int(array[i]))
        else:
            nul2.append(int(array[i]))
    print(nul2+nul1)

2018/11/08 16:56

배득주

List = [-1,1,3,-2,2]
NewList=[]
for i in List :
    if i <= 0 :
        NewList.append(i)
for j in List :
    if j > 0 :
        NewList.append(j)
print(NewList)

2018/11/13 17:26

문지원

list comprehension using any python

print([i for i in integers if i < 0] + [j for j in integers if j > 0])

2018/11/15 19:40

레오김

old_list = [-1, 1, 3, - 2, 2]
print([x for x in old_list if x < 0] + [y for y in old_list if y >= 0])

2018/11/16 15:18

정지환

s = [-1, 1, 3, -2 ,2]
result = []
for x in s:
    if x < 0:
        s.remove(x)
        result.append(x)
for x in s:
    result.append(x)
print(result)


2018/11/20 00:59

wook

c++

include "pch.h"

include

using namespace std;

int main() { int Array[] = { -1,1,3,-2,2 }; int Sub[5]; int CountSub = 0; int Plus[5]; int CountPlus = 0;

for (int z = 0; z < 5; z++) {
    Sub[z] = NULL;
    Plus[z] = NULL;
}

for (int i = 0; i < 5; i++) {
    if (Array[i] < 0) {
        Sub[CountSub] = Array[i];
        CountSub++;
    }

    else if (Array[i] >= 0) {
        Plus[CountPlus] = Array[i];
        CountPlus++;
    }
}

for (int i = 0; i < 5; i++) {
    if (Sub[i] != NULL) {
        cout << Sub[i] << " ";
    }
}

for (int j = 0; j < 5; j++) {
    if (Plus[j] != NULL) {
        cout << Plus[j] << " ";
    }
}

}

2018/11/22 15:52

김성민

#include <stdio.h>

int main() {
    int array[5]={-1,1,2,-3,0};
    int i,temp,j,k=0;
    for(i=0;i<5;i++){
        if(array[i]<0){
            for(j=i;j>k;j--){
                temp=array[j];
                array[j]=array[j-1];
                array[j-1]=temp;
            }
            k++;
        }


    }
    for(i=0;i<5;i++){
        printf("%2d",array[i]);
    }
}

2018/11/24 23:49

김범준

namespace codingdojang__
{
    class Program
    {
        static void Main(string[] args)
        {
            string minus = "";
            string plus = "";

            string[] inp = Console.ReadLine().Split(' ');

            foreach(string e in inp)
            {
                int var = int.Parse(e);

                if (var < 0)
                {
                    minus = $"{minus} {var.ToString()}";
                }
                else if (var > 0)
                {
                    plus = $"{plus} {var.ToString()}";
                }
            }

            Console.WriteLine($"{minus},{plus}");
        }
    }
}

c#

2018/11/25 12:55

bat

list = ['-5','-7','-1','3','-2','5','4']
result = []
def sortNum(list):
    t1 = []
    t2 = []
    for i in list:
        if int(i) < 0:
            t1.append(i)
        else:
            t2.append(i)
    result = t1 + t2
    return result

print(sortNum(list))

2018/12/04 10:26

하이퍼

def solution(l):
    return [n for n in l if n < 0] + [n for n in l if n >= 0]

print(solution([-1,1,3,-2,2]))

2018/12/04 11:21

zzulu

Java 8 Multi Thread

package test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

public class tut02 {
  public static void main(String[] args) {
    int[] input = {-1, 1, 3, -2, 2, 0};
    tut02 t = new tut02();

    ExecutorService executor = Executors.newFixedThreadPool(2);
    List<Future<List<Integer>>> list = new ArrayList<>();
    List<Integer> result = new ArrayList<>();

    Callable<List<Integer>> negCall = t.new negativeRunnable(input);
    Callable<List<Integer>> posCall = t.new positiveRunnable(input);

    list.add(executor.submit(negCall));
    list.add(executor.submit(posCall));

    for (Future<List<Integer>> fut : list) {
      try {
        result.addAll(fut.get());
      } catch (InterruptedException | ExecutionException e) {
        e.printStackTrace();
      }
    }

    executor.shutdown();
    System.out.println(result);
  }

  class negativeRunnable implements Callable<List<Integer>> {
    private int[] input;
    private List<Integer> result = new ArrayList<>(); 

    public negativeRunnable(int[] input) {
      this.input = input;
    }

    @Override
    public List<Integer> call() throws Exception {
      for (int i = 0; i < input.length; i++) {
        if (input[i] <= 0) {
          result.add(input[i]);
        }
      }

      return result;
    }
  }

  class positiveRunnable implements Callable<List<Integer>> {
    private int[] input;
    private List<Integer> result = new ArrayList<>(); 

    public positiveRunnable(int[] input) {
      this.input = input;
    }

    @Override
    public List<Integer> call() throws Exception {
      for (int i = 0; i < input.length; i++) {
        if (input[i] > 0) {
          result.add(input[i]);
        }
      }

      return result;
    }
  }
}



2018/12/11 10:47

#include <stdio.h>

int main() {
    int array[5] = { -1,1,2,-3,5 };
    int plus[100];
    int minus[100];
    int a = 0;
    int b = 0;
    for (int i = 0; i < 5; i++)
    {
        if (array[i] > 0)
        {
            plus[a] = array[i];
            a++;
        }
        if (array[i] < 0)
        {
            minus[b] = array[i];
            b++;
        }
    }
    int t ;

    for (int j=0;j<3;j++)
    {
        minus[b] = plus[j];
        b++;
    }

    for (int k = 0; k < 5; k++)
    {
        printf("%d", minus[k]);
    }
    return 0;
}

c언어입니다

2018/12/13 17:33

흐긴노노

arr = [-1, 1, 3, -2, 2]

arr_Negative = []
arr_Positive = []


for i in arr:
    if i < 0:
        arr_Negative.append(i)
    else:
        arr_Positive.append(i)

print(arr_Negative)
print(arr_Positive)

arr_sorted = arr_Negative + arr_Positive
print(arr_sorted)

2018/12/15 21:09

김명규

package com.test;

import java.util.Arrays;

public class Main {

    public static void main(String[] args) {


        int[] a = {-1, 1, 3, -2, 2};

        for(int i = 0; i<a.length; i++) {

            for(int j = i+1; j<a.length; j++) {
                if(a[i] > 0 && a[j]<0) {
                    int b = a[j];
                    a[j] = a[i]; 
                    a[i] = b;
                }
            }
        }
        System.out.println(Arrays.toString(a));
    }

}

2018/12/25 13:47

Popeye

#include <stdio.h>
#include <math.h>

int main(void){
    int args[5] = {-1,1,3,-2,2};
    int args_size, temp;

    args_size = sizeof(args)/sizeof(args[0]);

    //printf("%d",abs(-5));

    for(int i = 0;i < args_size;i++){
            if(abs(args[i++]) <= abs(args[i])){
                temp = args[i++];
                args[i++] = args[i];
                args[i] = temp;
            }
    }

    for(int i = 0;i < args_size;i++){
        printf("%d ",args[i]);
    }

    return 0;
}

2018/12/27 13:30

Jero

list1 = [-1, 1, 3, -2, 2]
res1 = []
res2 = []

for i in list1 :
    if i < 0 : 
        res1.append(i)
    else :
        res2.append(i)
res1 = res1 + res2
print(res1) 

2018/12/27 18:30

플라토

# special_sort.py
import copy
inp_list = [-1, 7, 1, -3, -2, 2, 10]
out_list = copy.deepcopy(inp_list)

j = 0
for i in range(len(inp_list)):
    if inp_list[i] < 0:
        out_list[j] = inp_list[i]
        j += 1

for i in range(len(inp_list)):
    if inp_list[i] > 0:
        out_list[j] = inp_list[i]
        j += 1

print(out_list)

답 : [-1, -3, -2, 7, 1, 2, 10]

2019/01/02 15:40

판다네밥상

NegativeList = []
PositiveList = []

for i in n:
    if list[i] < 0 : NegativeList.append(list[i])
for i in n:
    if list[i] > 0 : PositiveList.append(list[i])

print(NegativeList+PositiveList)

2019/01/02 22:18

Woohyuck Choi

list_ = list(map(int, input("정수 리스트 입력 : ").split()))
print(' '.join(map(str, [i for i in list_ if i < 0] + [i for i in list_ if i >= 0])))

2019/01/03 21:00

lucky1to10

negative_list = []
positive_list = []
zero_list = []

num = input('정수를 입력하세요: ')
list = num.split(' ')

for i in list:
    i = int(i)
    if i <= 0:
        negative_list.append(i)
    elif i == 0:
        zero_list.append(i)
    else:
        positive_list.append(i)

sorted_list = negative_list + zero_list + positive_list
print(sorted_list)

2019/01/08 16:56

달품

public class SpecialSort {

    public static void main(String[] args) {
        // n개짜리 정수 배열에서
        // 음수는 앞에, 양수는 뒤에 위치하게 정렬
        // 단 음수간의 순서와 양수간의 순서는 변함이 없어야 함
        int[] input = {-1, 1, 3, -2, 2};
        int[] sorted = new int[input.length];
        int numSorted = 0;

        // 음수를 배열 앞에 정렬
        for(int i=0; i<input.length; i++)
        {
            if(input[i] < 0)
            {
                sorted[numSorted++] = input[i];
            }
        }
        // 양수를 배열 뒤에 정렬
        for(int i=0; i<input.length; i++)
        {
            if(input[i] >= 0)
            {
                sorted[numSorted++] = input[i];
            }
        }
        for(int i : sorted)
            System.out.print(i+" ");
    }

}

2019/01/08 19:18

장지훈

n = [-1, 1, 3, -2, 2]
a = []
b = []

for i in n :
    if i >= 0 :
        a.append(i)
    else :
        b.append(i)

print(b + a)

2019/01/09 13:05

크리스

```{.python} neg_list =[] pos_list=[]

num =input('정수를 입력하시오:') list= num.split(' ')

for i in list: i= int(i) if i<=0: neg_list.append(i) else: pos_list.append(i)

sort_list = neg_list + pos_list

print(sort_list) ```neg_list =[] pos_list=[]

num =input('정수를 입력하시오:') list= num.split(' ')

for i in list: i= int(i) if i<=0: neg_list.append(i) else: pos_list.append(i)

sort_list = neg_list + pos_list

print(sort_list)

2019/01/10 01:05

jj kim

List = []
while True :
    List.append(input("숫자를 입력해 주세요 : "))
    print("종료하시려면 exit를 입력해 주세요")
    print("계속 입력하시려면 아무키나 누르세요")
    a = input()
    if a == "exit":
        break
    else :
        continue
List.sort()
print(List)

2019/01/10 08:26

박상혁

list_ex = [-1,1,3,-2,2]
list_a = []
list_b = []

for i in list_ex:
    if i < 0:
        list_a.append(i)
    elif i > 0:
        list_b.append(i)

list_result= list_a + list_b
print(list_result)

2019/01/12 16:33

정현수

def special_sort(x):
    temp1, temp2 = [], []
    for i in x:
        if i < 0:
            temp1.append(i)
        else:
            temp2.append(i)
    result = temp1 + temp2
    return result

list = map(int, input().split())
print (special_sort(list))


2019/01/14 11:41

D.H.

파이썬스럽게 풀지 못한 파이썬 코드

nList = [-1, 1, 3, -2, 2]

def SpecialSort(lList, n):
    # Check if this list have to sort.
    if lList[n] < 0 and n == 0:
        return SpecialSort(lList, n+1)
    elif lList[n] < 0 and n != 0:
        if lList[n-1] < 0:
            return SpecialSort(lList, n+1)
        elif lList[n-1] > 0:
            lList[n-1], lList[n] = lList[n], lList[n-1]
            return SpecialSort(lList, n+1)
    elif lList[n] > 0:
        for i in range(n,len(lList)-1-n):
            if (lList[i] * lList[i+1]) < 0:
                lList[i], lList[i+1] = lList[i+1], lList[i]
                # print(lList)
                return SpecialSort(lList, n+1)
        return lList
    else:
        return lList

print(SpecialSort(nList, 0))

2019/01/16 03:43

ChungGeol You

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int main(void)
{

    vector<int>cv;
    cv.push_back(-1);
    cv.push_back(1);
    cv.push_back(3);
    cv.push_back(-2);
    cv.push_back(2);


    for (vector<int>::iterator itr = cv.begin(); itr != cv.end(); itr++)
    {
        if (*itr < 0)
        {
            cout << *itr << " ";


        }
    }
    cv.erase(remove_if(cv.begin(), cv.end(), [](int i) {return i < 0; }),cv.end());//조건에 만족하는것들을 뒤로밀고 제일먼저 조건충족한애가리킴

    for (vector<int>::iterator itr = cv.begin(); itr != cv.end(); itr++)
    {
        cout << *itr << " ";
    }

}

2019/01/21 05:18

김상범

def Special_Sort(list):
    minlist, plulist=[],[]
    for i in list:
        if i < 0: minlist.append(i)
        else: plulist.append(i)
    return minlist+plulist


listt = [-1, 1, 3, -2, 2]
print(Special_Sort(listt))

2019/01/21 21:37

얀차

javascript 풀이 입니다!

1. 문제

n개의 정수를 가진 배열이 있다. 이 배열은 양의정수와 음의 정수를 모두 가지고 있다. 이제 당신은 이 배열을 좀 특별한 방법으로 정렬해야 한다. 정렬이 되고 난 후, 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다. 또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다.

예. -1 1 3 -2 2 ans: -1 -2 1 3 2.

2. 풀이

function specialSort(arr){
  const array = arr.splice('')
  const minusint = array.filter(item => item<0)
  const plusint = array.filter(item => item>0)
  const result = minusint.concat(plusint)
  return result
}

const array = [-1, 1, 3, -2, 2]
specialSort(array)
//출력값: [-1, -2, 1, 3, 2]

2019/01/22 14:05

돌도끼

list_before = input("정수 배열을 입력하세요:" )
list_after = list_input.split(" ")
list_after = list(map(int, list_after))

for m in range(0,len(list_after)):
    for n in range(m, len(list_after)):
        if list_after[n]<0 and list_after[n-1]>0:
            tmp = list_after[n-1]
            list_after[n-1] = list_after[n]
            list_after[n] = tmp

print(list_after)

2019/01/24 22:55

장형규

numberlist = [-1,1,3,-2,2]
print([i for i in numberlist if i < 0] + [i for i in numberlist if i >= 0])

2019/01/25 18:32

김종율

plus_number = []
minus_number = []
def Special_Sort(sentence):
    for i in sentence:
        if i < 0:
            plus_number.append(i)
        else:
            minus_number.append(i)
    result = plus_number + minus_number
    return result


print(Special_Sort([-1, 1, 3, -2, 2]))

Python을 사용한 초보자의 단순한 풀이입니다.

2019/01/26 14:26

손태호

int_minus = [] int_plus = [] int_0 = [] int_total = []

def int_arrange(int_a) : for i in int_a :

    if i < 0 :
       int_minus.append(i)
    elif i == 0 :
       int_0.append(i)
    else :
        int_plus.append(i)

int_total = int_minus + int_0 + int_plus ;

return(int_total)

a = [ -1, 1, 3, -2, 2]

print(int_arrange(a) )

2019/01/27 15:57

Bongsu Song

inseq = [-1, 1, 3, -2, 2]
print(sorted([i for i in inseq if i < 0], reverse=True) + [i for i in inseq if i >= 0])

2019/01/27 18:13

Roy

파이썬 입니다.

ls = [-1,1,3,-2,2]

positive = ""
negative = ""

for i in ls:
    if i > 0:
        positive += str(i)
    else:
        negative += str(i)

sort_number = negative + positive

print(sort_number)

2019/01/29 17:29

손경배

기본적인 기능만을 사용한 Python 코드 입니다.

def func(*args):
    negative_list = []
    positive_list = []
    for i in args:
        if i < 0:
            negative_list.append(i)
        else:
            positive_list.append(i)
    return negative_list + positive_list


print(func(-1, 1, 3, -2, 2))
[-1, -2, 1, 3, 2]

2019/01/31 08:07

x monciel

l = [-1, 1, 3, -2, 2]
i = 0
while i < 4:
  if l[i] >= 0 and l[i + 1] < 0:
    ch = l[i]
    l[i] = l[i + 1]
    l[i + 1] = ch
    i = i - 1
  else:
    i = i + 1
print(l)

2019/02/06 16:33

한별

파이썬 3.7 기준으로 작성한 것입니다.

a = list(map(int, input().split()))
pluslist = []
minuslist = []
for i in range(len(a)):
    if a[i] < 0:
        minuslist.append(a[i])
    if a[i] > 0:
        pluslist.append(a[i])

b = minuslist + pluslist

print(b)

# 설명
# 먼저, a라는 리스트를 입력할 때마다 input함수를 이용해서 리스트 요소를 추가하게 합니다.
# 그 다음 양의 정수만 모여져 있는 리스트와 음의 정수만 모여져 있는 리스트를 빈 상태로 추가합니다.
# for반복문을 이용해서 음의 정수와 양의 정수를 if문으로 이용해서 분별하게 합니다.
# 만약 음의 정수이면 minuslist의 요소를 추가하게 합니다.
# 만약 양의 정수이면 pluslist의 요소를 추가하게 합니다.
# 그 다음에는 b라는 리스트를 minuslist와 pluslist의 요소를 합치게 합니다.
# 그런 다음 b라는 리스트를 출력하게 합니다.

이게 구글 전화면접이었다니, 저는 이때까지 몰랐네요. 심지어 전화로 하다니... 어쨋든 모두들 새해 복 많이 받으십시오.

2019/02/06 18:55

조재현

파이썬으로 작성해보았습니다~

before = [-1, 1, 3, -2, 2]
neg = list(i for i in before if i < 0)
pos = list(i for i in before if i >= 0)
neg.extend(pos)
print(neg)

2019/02/07 19:13

김기민

elif가 더 낫지만..

result=list()
result=[i for i in target if i<0]+[i for i in target if i>0]

print(result)

2019/02/08 22:57

Hyeonu Cho

python 3.7.1 어쩌다보니 댓글을 컨닝했네요.

a=[-1, 1, 3, -2, 2]
[x for x in a if x<0]+[x for x in a if x>=0]
a=[-1, 1, 3, -2, 2]
def decbubble(b):
    for i in range(0,len(b)-1):
        for j in range(0,len(b)-1-i):
            if b[j]>0 and b[j+1]<0:
                b[j],b[j+1]=b[j+1],b[j]
    return b
decbubble(a)                

2019/02/09 13:45

Changmin Mun

public class SpecialSort {
    public static void main(String[] args){
        sort(1,-1,3,2,-2);
    }

    public static void sort(int ... num){        
        System.out.print("정렬 전 배열 : ");
        for(int i=0;i<num.length;i++)
            System.out.print(num[i]);

        for(int j=1;j<num.length;j++){
            for(int i=0;i<num.length-j;i++){
                if(num[i] > 0 && num[i+1] <0){
                    int a=num[i];
                    num[i] = num[i+1];
                    num[i+1] = a;
                }
            }
        }

        System.out.print("\n정렬 후 배열 : ");
        for(int i=0;i<num.length;i++)
            System.out.print(num[i]);

        System.out.print("\n");       
    }
}

2019/02/09 22:17

김동수

list = [-1, 1, 3, -2, 2]
a = []
b = []

for i in list :
    if i > 0 :
        a.append(i)
    else :
        b.append(i)

print(b + a)

파이썬입니당 비슷한 풀이가 많네요...

2019/02/10 13:16

임민주

def special_sort(lst):
    ans_p = []
    ans_n = []
    for i in lst:
        if i>=0:
            ans_p.append(i)
        else:
            ans_n.append(i)
    return ans_n + ans_p

2019/02/11 23:19

dodoman

beYeol = [-1, 1, 3, -2, 2]
eum = []
yang = []
for i in beYeol :
    if i < 0 :
        eum.append(i)
    else :
        yang.append(i)
ans = eum + yang
for j in ans :
    print(j, end=' ')

2019/02/14 09:22

좋은나쎔

str_num=input("배열을 입력하세요(띄어쓰기로 구분)").split()
view_num=[]
view_num2=[]
for cell_num in str_num:
    cell_num=int(cell_num)
    if cell_num < 0:
        view_num.append(cell_num)
    else:
        view_num2.append(cell_num)
print(view_num+view_num2)

2019/02/14 09:47

이정헌

num = input("숫자들을 입력하시오. : ").split(" ")
answer = []
for i in range(num.__len__()) :
    if (int(num[i]) < 0 ) :
        answer.append(int(num[i]))
for i in range(num.__len__()):
    if (int(num[i]) > 0) :
        answer.append(int(num[i]))
print(answer)

2019/02/14 10:00

동동

user_input = input("정수 배열을 입력하세요(공백으로 구분) : ").split()
negative_number = []
positive_number = []
for i in range(len(user_input)):
    if int(user_input[i]) < 0:
        negative_number.append(user_input[i])
    else: positive_number.append(user_input[i])
total_list = negative_number + positive_number
for i in total_list:
    print(i, end=" ")

2019/02/14 10:23

김상민

var arr = [-3, 1, 14, 15, -2, 2];

for (var i = 0; i < arr.length; i++) {
    var index = arr.findIndex(function (item) {
        return Math.sign(item) > 0;
    });
    if (arr[i] < 0 && arr[i - 1] > 0) {
        var temp = arr.splice(i, 1);
        arr.splice(index, 0, temp[0])
    }
}

console.log(arr.join(' '));

2019/02/15 16:00

이계민

import random
randombox = random.sample(range(-30,31),10)
box = []
boxbox = []
for inti in randombox:
    if inti >= 0: box.append(inti)
    else: boxbox.append(inti)
print(randombox)
print(boxbox + box)

2019/02/15 17:14

김규묭

arr = [-1,1,3,-2,2]
min=[]
max=[]
for i in arr:
    if i<0:
        min.append(i)
        continue
    max.append(i)

print(min+max)

``````
arr = [-1,1,3,-2,2]
min=[]
max=[]
for i in arr:
    if i<0:
        min.append(i)
        continue
    max.append(i)

print(min+max)

2019/02/17 21:47

이선행

list_positive=[]
list_negative=[]

list_positive = list(filter(lambda x:x>0, my_list))
list_negative = list(filter(lambda x:x<0, my_list))
my_list = list_negative + list_positive

print(my_list)

2019/02/18 09:10

a = [-1, 1, 3, -2, 2]
print([x for x in a if x < 0]+[x for x in a if x > 0])

2019/02/18 11:23

이지혜

list_positive=[]
list_negative=[]

list_positive = list(filter(lambda x:x>0, my_list))
list_negative = list(filter(lambda x:x<0, my_list))
my_list = list_negative + list_positive

print(my_list)

2019/02/18 15:38

data = input("정수 입력: ")
numbers = list(data.split(' '))

zeros = []
positive = []
negative = []

for num in numbers:
    if int(num) > 0:
        positive.append(num)
    elif int(num) < 0:
        negative.append(num)
    elif int(num) == 0:
        zeros.append(num)

result = ' '.join(negative + zeros + positive)
print(result)

2019/02/25 16:49

Nonamed

data=[-1,1,3,0,-2,0,2]
plus_list=[i for i in data if i>0]    #양의정수 리스트
minus_list=[i for i in data if i<0]    #음의정수 리스트
zero_list=[i for i in data if i==0]       #0 리스트

result=minus_list+zero_list+plus_list 
print(result)

2019/02/26 14:25

권기홍

problem=[-1,1,3,-2.2]
plus=[]
minus=[]
for i in problem:
    if i>0:
        plus.append(i)        
    else:
        minus.append(i)
answer=minus+plus
print(answer)

2019/03/03 14:32

김찬렬

def specialsort(nums):
    t1, t2 = [], []
    for num in nums:
        if num < 0:
            t1.append(num)
        else:
            t2.append(num)
    return t1 + t2

nums = [-1, 1, 3, -2, 2]
print(specialsort(nums))

2019/03/06 23:46

권준형

def s_sort(*t): p=[] m=[]     z=[]     for i in t: if i>0: p.append(i) elif i==0: z.append(i) else: m.append(i) print(m+z+p)

2019/03/08 16:34

Fiesta

c로 풀어봤어요

include

int main() { int g[] = { -1, 1, -4, 3, -2, 2 , -1, 5}; int g_len = sizeof(g) / sizeof(int); int count = 0; int temp;

printf("배열: ");
for (int i = 0; i < g_len; i++)
    printf("%d ", g[i]);
printf("\n");

while (count < g_len - 1) {
    count = 0;
    for (int i = 0; i < g_len - 1; i++) {
        if (g[i] > 0 && g[i + 1] < 0) {
            temp = g[i];
            g[i] = g[i + 1];
            g[i + 1] = temp;
        }
        else
            count++;
    }
}
printf("정렬: ");
for (int i = 0; i < g_len; i++)
    printf("%d ", g[i]);
printf("\n");

}

2019/03/12 01:06

황정인

num_list = input().split()
for i in range(len(num_list)):
    num_list[i] = int(num_list[i])

result_list = []

for elem in num_list:
    if elem < 0:
        result_list.append(elem)

for elem in num_list:
    if elem not in result_list:
        result_list.append(elem)
print(result_list)

2019/03/12 20:05

설민혁

제대로 한건지는 모르겠으나 결과는 제대로 나오내요

include

int main(void) { int arr[] = { -1, 1, 3, -2, 2 }; int i; printf("음수를 먼저 그다음에 양수로 하기");

for (i = 0; i < 5; i++)
{
    if (arr[i] < 0)
        printf("%d", arr[i]);
}
for (i = 0; i < 5; i++)
{
    if (arr[i]>0)
        printf("%d", arr[i]);

}
return 0;

}

2019/03/14 00:20

공지수

def special_sort(a):
    list1 = []
    list2 = []
    for n in range(0,len(a)):
        if a[n]<0:
            list1.append(a[n])
        if a[n]>=0:
            list2.append(a[n])
    return list1+list2

2019/03/19 22:43

한상준

arr = [1,-1,2,4,3,54,-19]

def FindP(lst) : result=[] for i in range(len(lst)) : if lst[i] > 0 : result.append(lst[i])

return result

def FindM(lst) : result=[] for i in range(len(lst)) : if lst[i] < 0 : result.append(lst[i])

return result

def SortList(lst) : lstP = FindP(lst) lstM = FindM(lst) result = lstM + lstP

return result

print(SortList(arr))

2019/03/22 13:46

김동혁

list = [-1,1,3,-2,2]
list_sorted  = []
for i in list:
    if i < 0:
        list_sorted.append(i)
    else:
        pass

for j in list:
    if j > 0:
        list_sorted.append(j)
    else:
        pass

print(list_sorted)

2019/03/23 15:00

김성근

int[] arr = {-1,5,3,-2,4};
        for(int i = 0; i < arr.length; i++) {
            for(int j =i + 1; j < arr.length; j++) {
                if(arr[i] > arr[j]) {
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
        System.out.println("작은 수 부터 출력:");
        for(int a = 0; a < 5; a++) {
            System.out.println(arr[a]);
        }

    }
``````{.java}
int[] arr = {-1,5,3,-2,4};
        for(int i = 0; i < arr.length; i++) {
            for(int j =i + 1; j < arr.length; j++) {
                if(arr[i] > arr[j]) {
                    int temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
        System.out.println("작은 수 부터 출력:");
        for(int a = 0; a < 5; a++) {
            System.out.println(arr[a]);
        }

    }

2019/03/26 21:55

Cheery Honey

a=[1,2,4,-1,-4,-2,5,-6,7]
c=[]
d=[]
for i in a:
    if i<0:
        c.append(i)
    else:
        d.append(i)
print(c+d)   

2019/03/27 11:33

이세민

def Special_sort(L):
    L1 = []
    L2 = []
    for i in L:
        if i>0:
            L2.append(i)
        elif i<0:
            L1.append(i)
    return L1+L2

2019/04/03 09:39

messi

way1 : way2가 반복문을 2번 수행해야 하므로, 성능 상의 이점을 위해 for문을 1번만 사용하는 방향으로 코딩해보았습니다.

way2 : 다른 분들께서도 풀이하신 음수부와 양수부를 합하는 방식의 코딩입니다.

# way1
lst = [-1, 1, 3, -2, 2]
n = 0
for i in range(len(lst)):
    if lst[i]<0:
        tmp = lst[i]
        del lst[i]
        lst.insert(n, tmp)
        n += 1
lst

# way2
[i for i in lst if i<0] + [i for i in lst if i>=0]

2019/04/03 09:44

Clifford Lindsher

InputArr = input("정수를 입력하시오: ")
IntArr = [int(a) for a in InputArr.split()]

for i in IntArr:
    if i < 0:
        c = 0
        for j in range(IntArr.index(i),0,-1):
            c += 1
            if IntArr[j-1] < 0:
                IntArr.insert(j,i)
                IntArr.pop(c+1)
print(IntArr)

2019/04/08 15:51

Hwaseong Nam

a = [-1, 1, 3, -2, 2]

minus = [ x for x in a if x<0 ]
plus = [ x for x in a if x>0 ]

print(minus+plus)

2019/04/10 11:41

cheer


# special sort.py

nums=map(int,input().split())

nums_pos=[]
nums_neg=[]

for i in nums:
    if i>=0:
        nums_pos.append(i)
    else:
        nums_neg.append(i)

print(nums_neg+nums_pos)

2019/04/15 18:56

Choi BH

start = [-1,1,3,-2,2]
minus = []
plus = []
for i in start:
    if i < 0:
        minus.append(i)
    else:
        plus.append(i)

result = minus + plus
print(result)

2019/04/17 00:02

Seungmin Kim

import random n=int(input('n : ')) minus=0 a=[] for i in range(n): a.append(random.randint(-9,9)) print('question:',end=' ') for i in a: print(i,end=' ') for i in range(n): if a[i]<0: minus+=1 for j in range(i,minus-1,-1): a[j],a[j-1]=a[j-1],a[j] else: continue print('ans: ',end='') for k in a: print(k,end=' ')

2019/04/20 23:43

정진우

package test0423;

public class MainClass {

public static void main(String[] args) {
    int[] arr = {-1, 1, 3, -2, 2};
    int temp;
    int c = 0;
    int[] ar_result = new int[5];

    for (int i = 0 ; i < arr.length; i++) {
        if(arr[i] < 0) {
            ar_result[c] = arr[i];
            c++;
        }
    }
    for (int i = 0 ; i < arr.length; i++) {
        if(arr[i] > 0) {
            ar_result[c] = arr[i];
            c++;
        }
    }
    for (int i = 0; i < arr.length; i ++) {
        System.out.print(ar_result[i]+ " ");
    }
}

}

2019/04/23 19:45

배정희

# Suppose the given array's name is "Integer"
number = list(Integer)
def special_sort(x):
    pos = []
    neg = []
    for num in x:
        if num < 0:
            neg.append(num)
        else:
            pos.append(num)
    result = neg + pos
    return result

print(result)

2019/04/24 20:32

초보

num_series= list(map(int,input().split()))

num_minus=[] num_plus=[]

for i in num_series: if i<0: num_minus.append(i) else: num_plus.append(i)

num_series.clear()

for i in num_minus: num_series.append(i)

for i in num_plus: num_series.append(i)

print(num_series)

2019/04/30 15:37

암살자까마귀

원소를 추가, 삭제, 붙이는 데에 있어서 벡터보다 리스트가 빠를것이라고 판단하여 리스트를 사용하였습니다.

#include <iostream>
#include <list>
using namespace std;

int main()
{
    list<int> lst ={ -1, -2, 1, 3, 2};
    list<int> pos_lst;
    for(auto iter = lst.begin(); iter != lst.end();)
    {
        if(*iter > 0)
        {
            pos_lst.push_back(*iter);
            iter = lst.erase(iter);
        }
        else
            iter++;
    }
    lst.insert(lst.end(), pos_lst.begin(), pos_lst.end());

    for(auto iter = lst.begin(); iter != lst.end();iter++)
    {
        cout << *iter << ' ';
    }
    cout << endl;
    return 0;

}

2019/05/01 13:57

이기준

a = "-1 1 3 -2 2".split()
b = [i for i in a if int(i)<0]
c = [j for j in a if int(j)>0]
print(b+c)

2019/05/06 08:42

Dongtak Jeong

처음에 받는 자료형이 문자형이라서 출력도 문자형으로 이루어 질 수 있도록 해보았습니다. 아직 부족하기에, 추가로 개선할만한 부분이 있다면 가르쳐 주시면 감사하겠습니다.

list =input("Plz enter the Array :")
tmpt = ''
Tmpt = ''
Array = list.split()
for i in range(len(Array)):
    Num = int(Array[i])
    if Num < 0:
        tmpt = tmpt + ' ' + Array[i]
    else: Tmpt = Tmpt + ' ' + Array[i]
SArray = tmpt + ' ' + Tmpt
print(SArray)   

2019/05/07 14:11

Gullen

파이썬 3.7.2

ex = [-1, 1, 3, -2, 2]
ex_1 = []
ex_2 = []
for x in ex:
    if x < 0:
        ex_1.append(x)
    if x > 0:
        ex_2.append(x)
ex = ex_1 + ex_2
print(ex)

2019/05/15 17:01

CT_EK

data = list(map(int, input("N개의 정수를 입력하세요: ").split()))

negative = []
positive = []
for i in data:
    if i > 0:
        positive.append(i)
    else:
        negative.append(i)

negative.extend(positive)

print(negative)

2019/05/17 17:44

이준성

n = "-1 1 3 -2 2"
list1 = list(n.split())
print(list1)
x = len(list1)

poslist = []
neglist = []
zerolist = []

while x != 0:
    integer = int(list1.pop(-x))
    if integer > 0:
        poslist.append(integer)
        x -=1
        continue
    if integer < 0:
        neglist.append(integer)
        x -=1
        continue
    if integer == 0:
        x-=1
        zerolist.append(integer)
        continue

final = neglist + zerolist + poslist
print(final)

2019/05/22 23:22

추희수

import random

arrfin = []
#일단 n개의 리스트를 만들자
arr = []
n = int(input("How many? : "))

for i in range(n):
    b = random.randint(-10,10)
    while arr.count(b) > 0:
        b = random.randint(-10,10)
    arr.append(b)
print(arr)

arrmin = []
arrplus = []

for j in arr:
    if j < 0:
        arrmin.append(j)
    elif j > 0:
        arrplus.append(j)
    else:
        pass

print(arrmin)
print(arrplus)
#Result
if arr.count(0) == 1:
    arrfin = arrmin + [0] + arrplus
else:
    arrfin = arrmin + arrplus

print("Final array is here")
print(arrfin)

2019/05/28 16:01

김선우

c = input("양의 정수나 음의 정수를 한 칸 씩 띄어 배열하세요: ")
d = c.split(' ')
print(d)

a = []
b = []

for i in d:
    if int(i) < 0:
        a.append(i)
    else :
        b.append(i)

print(a+b)


시작한지 얼마 되지 않아서 이해 쉬운 방법으로 하나하나 해보고 있습니다.

2019/05/31 15:43

maroonic

Python 3.6

numbers = [-1, -9, 10, 0, 1, -77, 100, 0, 0, -63, 3, -2, 2, 0]
numbers_plus = []
numbers_minus = []
zero_count = 0  # 0이 포함될 경우 -심지어 여럿일 경우도 산정한다


for i, number in enumerate(numbers):
    if number > 0:
        numbers_plus.append(numbers[i])
    elif number < 0:
        numbers_minus.append(numbers[i])
    else:
        zero_count += 1

for count in range(zero_count):
    numbers_minus.append(0)

print(numbers_minus + numbers_plus)

output: [-1, -9, -77, -63, -2, 0, 0, 0, 0, 10, 1, 100, 3, 2]

2019/06/04 03:56

클레멘

num_list = [-1, 1, 3, -2, 2]
list1 = []
list2 = []

for i in range(0, len(num_list)):
    if num_list[i] < 0:
        list1.append(num_list[i])
    elif num_list[i] > 0:
        list2.append(num_list[i])


print(list1 + list2)

2019/06/06 18:34

코딩뉴비

data = [-1, 1, 3, -2, 2]

r1, r2 = [], []

for i in data:
    if i < 0:
        r1.append(i)
    else:
        r2.append(i)

result = r1 + r2

print(result)

2019/06/17 14:35

파이썬주니어

public class ArrayTest {

    public static void main(String[] args) {
        int[] arr = {-1, 1, 3, -2, 2};
        int[] result = divide(arr);

        for(int val: result) {
            System.out.print(val+ " ");
        }
    }

    private static int[] divide(int[] arr) {
        int[] result = new int[arr.length];
        int idx = 0;
        for(int i=0; i<arr.length; i++) {
            if(arr[i]< 0) 
                result[idx++] = arr[i];
        }

        for(int i=0; i<arr.length; i++) {
            if(arr[i] > 0) 
                result[idx++] = arr[i];
        }
        return result;
    }

}

2019/06/20 02:37

Seohwan Moon

nums = "2 1 3 -2 -1 -3"

list_nums = nums.split(" ") print(list_nums)

posi = [i1 for i in list_nums if int(i) > 0] nega = [i1 for i in list_nums if int(i) < 0]

print(nega+posi)

2019/06/26 17:02

SeongMin Hwang

정렬 알고리즘을 써볼까, 리스트의 삽입 위치를 조정해서 한꺼번에 돌게 할까, 생각해봤는데 그냥 두 리스트에 나눠 집어넣고 병합하는 게 복잡도도 그렇게 차이 안 나고 읽기 좋아 보이네요.

int main()
{
    int* arr = new int[5]{ -1, 1, 3, -2, 2 };
    list<int> negativeList;
    list<int> positiveList;

    for (int i = 0; i < 5; ++i)
    {
        if (arr[i] < 0)
            negativeList.push_back(arr[i]);
        else
            positiveList.push_back(arr[i]);
    }

    delete[] arr;

    negativeList.insert(negativeList.end(), positiveList.begin(), positiveList.end());

    for (list<int>::iterator iter = negativeList.begin(); iter != negativeList.end(); ++iter)
    {
        cout << *iter << ", ";
    }
    cout << endl;


    return 0;
}

2019/07/02 15:22

캐니

def specialSort(data):
    plist = []; mlist = []; zlist = []; result = []
    for i in range(len(data)):
        if data[i] < 0:
            mlist.append(data[i])
        elif data[i] > 0:
            plist.append(data[i])
        else:
            zlist.append(data[i])
    if mlist:
        for j in range(len(mlist)):
            result.append(mlist[j])
    if zlist:
        for j in range(len(zlist)):
            result.append(zlist[j])
    if plist:
        for j in range(len(plist)):
            result.append(plist[j])
    return result

print(specialSort([-1, 1, 3, -2, 2]))

2019/07/04 09:32

최은미

negative = []
positive = []
numbers = input()
numList = numbers.split(" ")
for i in range(0, len(numList)):
    if int(numList[i]) >= 0:
        positive.append(int(numList[i]))
    else:
        negative.append(int(numList[i]))

print(negative + positive)

python

2019/07/04 16:04

Wonsang Kim

L = [int(x) for x in input('Enter numbers : ').split()]
for i in L :
    if i < 0 : print(i, end = ' ')
for i in L :
    if i > 0 : print(i, end = ' ')

2019/07/04 23:20

조현우

list = [-1,1,3,-2,2]
temp = []
for i in list:
    if i<0:
        temp.append(i)
    else:
        continue
for j in list:
    if j>0:
        temp.append(j)
    else:
        continue

temp

2019/07/05 14:39

신우석

origin_list=[-1,1,3,-2,2]
minus_list=[]
plus_list=[]
final_list=[]
for i in origin_list:
    if i<0:
        minus_list.append(i)
    else:
        plus_list.append(i)
final_list=minus_list+plus_list
print(final_list)

2019/07/08 00:30

김도원

파이썬

def S_sort(*nums):
    sort = list(nums)
    x = 0
    t = 1
    while True:
        if sort[x] > 0 :
            a = sort[x]
            del(sort[x])
            sort.append(a)
            x -= 1
        elif sort[x]< 0:
            pass
        x += 1
        t += 1
        if t > len(sort):
            return sort
            brake

2019/07/11 20:17

사닐

a = (-1, 1, 3, -2, 2)
pos = []
neg = []
for i in a:
    if i > 0:
        pos.append(i)
    else:
        neg.append(i)
print(neg + pos)

2019/07/12 20:22

YAPING CAO

lst=[-1,1,3,-2,2]
def c(lst):
    lstt=[]
    lsttt=[]
    for i in lst:
        if i>0:
            lstt.append(i)
        else:
            lsttt.append(i)
    q=lsttt+lstt
    return q
print(c(lst))

2019/07/14 22:05

유선종

nums = [-1, 1, 3, -2, 2]

lMinus = list(filter(lambda x : x < 0, nums))
lPlus = list(filter(lambda x : x > 0, nums))
lZero = list(filter(lambda x : x == 0, nums))
lResult = lMinus.copy()
lResult.extend(lZero)
lResult.extend(lPlus)
print(lResult)

2019/07/19 13:35

최혁제

num_list = [-1, 1, 3, -2, 2]
major = []
minor = []
for n in num_list:
    if n < 0:
        minor.append(n)
    else:
        major.append(n)

for i in major:
    minor.append(i)

print(minor)

2019/07/23 15:58

김다희

a = list(map(int, input().split()))   # 원하는 숫자 배열을 입력 
b = []
c = []
for i in range(len(a)):
    if a[i] < 0:
        b.append(a[i])
    else:
        c.append(a[i])
print(b+c)

2019/07/28 21:10

apriori

list=[-1,2,4,3,6,-5,-6,-3,7]
plus=[]
minus=[]
for i in list:
    if i>=0:
        plus.append(i)
    else:
        minus.append(i)

result=minus+plus
print(result)



2019/08/06 04:13

박재욱

alist=[]
blist=[]

def formation(number):
    for x in number :
        if x < 0 :
            alist.append(x)
        else :
            blist.append(x)
    alist.sort()
    result = alist + blist
    print(result)

formation([-10,-100,-1000,-1005,-10000,-10003,-3,2,6,-5,7,2,-2,-1,3])

2019/08/07 20:42

Minseok Choi

// n개의 정수를 가진 배열이 있다. 이 배열은 양의정수와 음의 정수를 모두 가지고 있다. 이제 당신은 이 배열을 좀 특별한 방법으로 정렬해야 한다.
// 정렬이 되고 난 후, 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다. 또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다.
public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[]  Number = new int[] {-1,1,3,-2,2};
        int[] NewNumber = new int[Number.length];
        int i=0;
        int n=0;

        while(true) 
        {
            if(Number[i]<0)
            {
                NewNumber[n]=Number[i];
                n++;
            }
            i++;
            if(i>=Number.length)
            {
                break;
            }   
        }
        i=0;
        while(true) 
        {
            if(Number[i]>0)
            {
                NewNumber[n]=Number[i];
                n++;
            }
            i++;
            if(i>=Number.length)
            {
                break;
            }   
        }
        System.out.print("원래 배열 : ");
        for(int a=0; a<Number.length; a++)
        {
            System.out.print(Number[a]);
        }
        System.out.print("\n"+"정렬한 배열 : ");
        for(int b=0; b<NewNumber.length; b++)
        {
            System.out.print(NewNumber[b]);
        }

    }

}

2019/08/12 10:43

이승렬

Python 3.7

filter 사용

a = list(map(int, input().split(" ")))
print(" ".join(list(map(str, filter(lambda x: x < 0, a)))), " ".join(list(map(str, filter(lambda x: x > 0, a)))))

리스트 컴프리헨션 사용

a = list(map(int, input().split(" ")))
print(" ".join(list(map(str,[x for x in a if x < 0])))," ".join(list(map(str,[x for x in a if x > 0]))))
Input
-1 1 3 -2 2
Output
-1 -2 1 3 2

2019/08/14 14:23

AY

n = [-1,1,3,-2,2]
n_1 = list()
n_2 = list()
for i in n:
    if i>=0:
        n_2.append(i)
    else:
        n_1.append(i)
res = n_1+n_2
print(res)

2019/08/15 10:00

최재학

#! python3

def sort(numbers):
    neg = []
    pos = []
    for num in numbers:
        if num < 0:
            neg.append(num)
        else:
            pos.append(num)
    return neg + pos

numbers = [-1, 1, 3, -2, 2]
print(sort(numbers))

2019/08/22 09:25

S

sorting_array=[1,-1,-2,-4,4,6,2] new_sorting_array=[]

for a in sorting_array: if a<0: new_sorting_array.append(a) for a in sorting_array: if a >=0: new_sorting_array.append(a) print(new_sorting_array)

2019/08/28 14:15

Cosu

 static void Main(string[] args)
        {

            int [] NumberArray = { -1, 1, 3, -2, 2 };
            ArrayList NegativeArray = new ArrayList();
            ArrayList PositiveArray = new ArrayList();

            //음수 구하기
            var ResultNegative = from NegativeNumber in NumberArray
                                 where NegativeNumber < 0
                                 select NegativeNumber;

            foreach (int Number in ResultNegative)
            {
                NegativeArray.Add(Number);
            }


            //양수 구하기
            var ResultPositive = from PositiveNumber in NumberArray
                                 where PositiveNumber > 0
                                 select PositiveNumber;

            foreach (int Number in ResultPositive)
            {
                PositiveArray.Add(Number);
            }

            //출력
            for (int i = 0; i < NegativeArray.Count; i++)
            {
                Console.Write(NegativeArray[i]+" "); 
            }

            for (int i = 0; i < PositiveArray.Count; i++)
            {
                Console.Write(PositiveArray[i]+" ");
            }

        }

2019/09/03 12:25

김저승

X = list(map(int, input().split()))
Y = []
for i in range(len(X)):
    if X[i] < 0:
        Y.append(X[i])
for i in range(len(X)):
    if X[i] > 0:
        Y.append(X[i])
for y in Y:
    print(y, "", end="")

2019/09/03 23:33

철쇄아

public static void main(String[] args) {

        int[] a = {-1, 1, 3, -2, 2};

        for(int i=0; i<a.length; i++) {
            for(int j=0; j<a.length-1; j++) {
                if(a[j]>0 && a[j+1]<0) {
                    int b = a[j];
                    a[j] = a[j+1];
                    a[j+1] = b;
                }
            }
        }
        for(int i=0; i<a.length; i++) {
            String str = (i==a.length-1)?"":", ";
            System.out.print(a[i]+str);
        }

    }

2019/09/09 12:15

yeeun shim

import random

# -100 ~ 100 랜덤값 n개 생성
def random_int (n):
    nlist = []
    for i in range(0, n):
        nlist.append(random.choice(range(-100, 100)))
    return nlist

# 음의 정수, 양의 정수 분리
def seper_integer (numbers):
    negative, positive = ([], [])
    for number in numbers:
        negative.append(number) if number < 0 else positive.append(number)
    return (negative, positive)

# 입력받은 정수 개수만큼 랜덤값 생성
rlist = random_int(int(input("정수 개수 : ")))

# 음의 정수, 양의 정수 분리
(nint, pint) = seper_integer(rlist)
print("전체 정수 :", rlist)
print("음의 정수 :", nint)
print("양의 정수 :", pint)

2019/09/09 21:58

Entz

#include <stdio.h>

int main(void)
{
    int arr[] = {1, 2, -3, 4, -5, -6};
    int len = 0, i = 0, j = 0;
    int temp = 0;
    len = sizeof(arr) / sizeof(int);

    for (i = 0; i < len; i++)
    {
        for (j = 0; j < len - 1; j++)
        {
            if (arr[j] < 0)
                continue;
            else if (arr[j + 1] < 0)
            {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
            else
                continue;
        }
    }

    for (i = 0; i < len; i++)
        printf("%d ", arr[i]);

    return 0;
}

2019/09/09 22:24

이지우

PHP

$arr = [-1, 1, 3, -2, 2];
$var = [];
foreach ($arr as $n) {
    $var[$n < 0 ? '-' : '+'][] = $n;
}
$result = array_merge($var['-'], $var['+']);
$result = implode(' ', $result);
print_r($result); // -1 -2 1 3 2

2019/09/11 09:23

d124412

setting = [-1, 1, 3, -2, 2] a = [] b = [] for i in setting: if i < 0 : a += [i] else: b += [i] print(a+b)

2019/09/12 06:54

김민규

package ex;

public class ex04 {
    public static void main(String[] args) {
        int[] list = {-1, 1, 3, -2, 2};
        for (int i = 0; i<list.length; i++) {
            if(list[i]<0) System.out.print(list[i] + " ");
        }
        for (int i = 0; i<list.length; i++) {
            if(list[i]>0) System.out.print(list[i] + " ");
        }
    }
}

2019/09/16 00:44

김현정

list = [-1,1,3,-2,2]

alist=[x for x in list if x<0]
blist=[x for x in list if x>0]

clist = alist+blist

print(clist)

2019/09/18 09:49

Woonghee Lee

nums=input('Enter the number array: ')
l=list(map(int,nums.split(' ')))
a=[]

for n in l:
    if n<0: a.append(n); l.remove(n)

for n in a+l:
    print(n, end=' ')

2019/09/19 16:31

돔돔

#special sort
numlist = [-1, 1, 3, -2, 2]
pos=[]
neg=[]
for num in numlist:
    if num < 0:
        neg.append(num)
    else:
        pos.append(num)
pos.sort()
neg.sort()
neg.reverse()
list = neg + pos
print("ans:",list)

2019/09/22 16:54

김다희

n = input("The delimiter is \" \".\ninput :").split(" ")
sei, fu = [], []
for k in n :
    if int(k) >= 0 :
        sei.append(int(k))
    else :
        fu.append(int(k))
print(fu + sei)

결과

The delimiter is " ".

input :-1 2 4 -4 8 -9 88 2 -45 [-1, -4, -9, -45, 2, 4, 8, 88, 2]

2019/09/26 16:10

GG

input_arr = map(int,input('Enter some integer : ').split(' '))

temp_pos = []
temp_neg = []

for num in input_arr:
    if num > 0:
        temp_pos.append(num)
    else:
        temp_neg.append(num)

result = temp_neg + temp_pos
print(result)

2019/10/02 14:22

nhoeal

def Array(data):
    negative = []
    positive = []
    sum = []
    for i in data:
        if i < 0:
            negative.append(i)
        else :
            positive.append(i)
    sum = negative + positive
    print(sum)            
Array([-1,1,3,-2,2])

2019/10/02 18:19

semipooh

Python 3.7.4

La = input('수를 입력하세요(빈칸 구분):').split(" ")

La_re = []

for i in La:
    if int(i)<0: La_re.insert(0,i)
    else: La_re.append(i)

print(" ".join(La_re))

2019/10/15 21:14

Koh KT

import java.util.Scanner;

public class SortQuiz {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int ans[] = {-1, 1, 3, -2, 2};
        int sw = 0;
        int count = 0;
        int temp = 0;

        for(int i = 0; i < ans.length; i++) {
            for(int j = 0; j < ans.length - i; j++) {
                if(ans[i] > 0 && ans[i+j] < 0) {
                    temp = ans[i];
                    ans[i] = ans[i + j];
                    ans[i + j] = temp;

                    sw = 1;
                    count = (i + j) - i;
                }               
            }
            if(sw == 1) {
                for(int j = i + 1; j < ans.length - count; j++) {
                    temp = ans[j];
                    ans[j] = ans[j + 1];
                    ans[j + 1] = temp;
                }
                sw = 0;
            }
        }
        for(int i = 0; i < ans.length; i++) 
            System.out.print(ans[i]);
    }
}

알고리즘 허접은 for문을 1번 더 사용 합니다... 흑흑

2019/10/16 22:10

이유환

python 3

data = [-1, 1, 3, -2, 2]

negative = []
positive = []
for d in data:
  if d < 0:
    negative.append(d)
  else:
    positive.append(d)

ans = [*negative, *positive]
print(ans)

출력: [-1, -2, 1, 3, 2]

2019/10/24 11:56

조현우

def sort(origin_list):
    return sorted(list(filter(lambda x:x<0,origin_list)),key=lambda x:abs(x)) 
           + sorted(list(filter(lambda x:x>0,origin_list)))

내포없이 필터 및 람다로 음수만 절대값으로 정렬 + 양수만 단순 정렬해서 리스트끼리 병합했습니다.

2019/11/04 10:23

data big

문제풀이

https://wikidocs.net/32#filter , 내장함수 filter

a = [-1,1,3,-2,2]

m = list(filter(lambda x: x<0, a))
n = list(filter(lambda x: x>0, a))

result = m+n

result

2019/11/07 18:10

최정우

package practiceLv1;

import java.util.*;

public class SpecialSort {

    public static void main(String[] args) {
        System.out.println("n개의 정수를 가진 배열을 입력하시오. : ");
        Scanner scan = new Scanner(System.in);
        String[] numbers_list = null;

        numbers_list = scan.nextLine().split(" ");

        for(String sort : numbers_list) if( sort.startsWith("-") ) System.out.print(sort + " ");
        for(String sort : numbers_list) if( !sort.startsWith("-") ) System.out.print(sort + " ");
    }
}

2019/11/07 21:49

big Ko

nums = [-1, 1, 3, -2, 2]

plus = []
minus = []

for num in nums:
    if num > 0:
        plus.append(num)
    else:
        minus.append(num)
print minus+plus

2019/11/15 13:36

jcchoi

ex = (-1, 1, 3, -2, 2) ans = ()

for i in ex: if i < 0: ans = ans + (i,)

for x in ex: if x > 0: ans = ans + (x,)

print(ans)

2019/11/18 13:31

Figuier

package CodeDojang;

import java.util.Arrays;
import java.util.ArrayList;
import java.util.Scanner;

public class StrangeNumbers {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        ArrayList<String> underZero = new ArrayList<String>();          //음수값 저장할 공간
        ArrayList<String> overZero = new ArrayList<String>();           //양수값 저장할 공간
        Scanner sc = new Scanner(System.in);                            //수를 입력기위한 스캐너

        System.out.print("숫자를 입력하세요 : ");
        String[] strNum = sc.nextLine().split(" ");                     //받은수 배열로 정리

        //음수 양수 필터링
        for(int i = 0; i<strNum.length;i++) {
            if(Integer.parseInt(strNum[i])<0) {
                underZero.add(strNum[i]);               
            }else if(Integer.parseInt(strNum[i])>=0) {
                overZero.add(strNum[i]);
            }
        }
        //출력 후 [,] 제거
        System.out.println(underZero.toString().replace("[", "").replace("]", "")
                +   ", "  + overZero.toString().replace("[", "").replace("]", ""));
    }
}

2019/11/20 17:26

임욱환

def specialorder(a):
    k = list()
    j = list()

    for i in a:
        if i < 0:
            k.append(i)

        if i > 0:
            j.append(i)

    newlist = k + j

    return newlist

v = [-1,1,3,-2,2]

specialorder(v)

2019/11/24 21:47

김희영

number=input().split(' ')
neg=[]
pos=[]
for i in range(len(number)):
  num = number[i]
  if '-' in num:
    neg.append(num)
  else:
    pos.append(num)
print(neg+pos)

파이썬의 경우 input입력값이 str이므로 정수변환 없이 음수의 '-'를 포함한 숫자로 나눌 수 있다고 생각했습니다.

2019/11/25 13:56

Red brick

numbers = '-1 1 3 -2 2'
number_list = numbers.split()

ind_cnt = 0
for n in number_list:
    if int(n) < 0:
        print('%s 는 음수' % n)
        number_list.pop(number_list.index(n))
        number_list.insert(ind_cnt, n)
    else:
        pass

print(number_list)

파이썬으로 작성해보았습니다.

2019/11/25 14:59

DrKilling

ar = [-1,1,3,-2,2]
print [i for i in ar if i lt 0] + [i for i in ar if i gt 0]


2019/11/26 11:43

오오옹


파이썬 3.6 입니다

def special_sort(lst):
    negatives = []

    for i in lst:
        if i < 0:
            lst.remove(i)
            negatives.append(i)
    return negatives + lst

print(special_sort([-1, 1, 3, -2, 2]))

2019/11/26 11:44

vkospi

파이썬 초보자 답 추가합니다.

def new_sort(lists):
    p_list = []
    n_list = []
    for i in lists:
        if i >= 0 : 
            p_list.append(i)
        else: 
            n_list.append(i)
    return n_list + p_list

2019/12/03 00:35

HaeSung Jung

파이썬입니다.

list = [-1, 1, 3, -2, 2]

def ans(list):
  return [i for i in list if i < 0] + [i for i in list if i >= 0]

print(ans(list))

2019/12/17 18:12

Sean

import re

a = '-1 1 3 -2 2'

m1=re.findall('(-\d)',a)

m2=re.findall(' (\d)',a)

ans=(m1+m2)

' '.join(ans)

2019/12/21 13:47

HyukHoon Kim

from random import randint as r
n1 = r(1, 10)
n2 = r(1, 10)
n3 = r(1, 10)
n4 = r(1, 10)
n5 = r(1, 10)
num = [n1, n2, n3, n4, n5]
def special_sort(num):
        minus = []
        plus = []
        for x in num:
                if x < 0:
                        minus.append(x)
                else:
                        plus.append(x)

list = minus + plus
print(list)

2019/12/28 00:45

PythonLover&Master_JK73

l=list(map(int,input("연속된 숫자를 입력하십시오: ").split(","))) #-1,1,3,-2,2
print("l =",l)
ml=[]
pl=[]
for n in l:
    if n<0:
        ml.append(n)
    else:
        pl.append(n)
ml.extend(pl)
print(ml)

2019/12/29 11:47

박시원

def par_sorting():

    a = input()

    b = a.split()

    c = [int(i) for i in b]

    tem_negative = []
    tem_positive = []

    for i in c:
        if i < 0:
            tem_negative.append(i)
        else:
            tem_positive.append(i)

    final = tem_negative + tem_positive

    return final

2020/01/01 17:22

임태욱

l1 = [-1,1,3,-2,2]
print([x for x in l1 if x < 0] + [x for x in l1 if x >= 0])

2020/01/03 13:42

김민기

c언어로 구현했습니다. 지적 환영합니다

#include <stdio.h>

int main()
{
    int a[5] = {-1, 1, 3, -2, 2};
    int b[5];
    int i, j;

    j = 0;
    for (i = 0; i < 5; i++)
        if (a[i] < 0) {
            b[j] = a[i];
            j++;
        }

    for (i = 0; i < 5; i++)
        if (a[i] >= 0) {
            b[j] = a[i];
            j++;
        }

    for (i = 0; i < 5; i++)
        printf("%3d", b[i]);
}

2020/01/07 23:31

y군

numLst = [-1,1,3,-2,2]
tmpLst = []

for i in numLst:
    if i<0:
        tmpLst.append(i)

for i in numLst:
    if i >= 0:
        tmpLst.append(i)

print(tmpLst)

2020/01/09 17:46

Jung Marco

m = [-1, 1, 3, -2, 2]

a = []

b = []

for i in m:
    if i < 0:
        a.append(i)
    else:
        b.append(i)

n = a+b

print(n)

2020/01/15 21:45

김희준

string = "-1 1 3 -2 2"
#tmplist1 = list(string) # 뭐 string.split() 같은 것들이 아니다. 아 근데 이러면 -까지 분리가 되네. 입력을 그냥 띄어쓰기로 받는걸로 하자
tmplist1 = string.split(" ") # ['-1', '1', '3', '-2', '2']
print(tmplist1)

tmplist2 = []
tmplist3 = []
tmplist4 = []

for i in tmplist1:
    if "-" in i: # -가 안에 요소로 있기만 하면 !!!
        tmplist2.append(i)
    else :
        tmplist3.append(i)

tmplist4 = tmplist2 + tmplist3
print(tmplist4)

2020/01/16 17:35

H

파이썬입니다.

입력이 문자열의 형태로 들어온다고 가정하고 작성했습니다.

line = input().split()

neg = []
pos = []

for i in line:
    if i[0] == '-': neg.append(int(i))
    else: pos.append(int(i))


pos.sort()
neg.sort(reverse=True)
neg.extend(pos)

print(neg)

2020/01/16 21:36

우재용

a =[-1, 5, -5, 2, 3, -4, -2, 1, -3, 4]
print([i for i in a if i < 0]+[ i for i in a if i >=0])

2020/01/19 23:43

mr. gimp

Nlist, Ndecimal, Nint = input().split(), list(), list()
for i in range(len(Nlist)):
    if int(Nlist[i]) < 0:Ndecimal.append(int(Nlist[i]))
    if int(Nlist[i]) >= 0:Nint.append(int(Nlist[i]))
print(Ndecimal + Nint)

2020/01/24 12:15

BlakeLee

num=map(int,input().split())

minus=[]
plus=[]

for i in num:
    if i<0:
        minus.append(i)
    else:
        plus.append(i)

print(minus+plus)

2020/01/29 20:45

생선집알바

a = input()

A = list(a.split(" "))

result = [] for i in A: i = int(i) result.append(i)

A_a = list(filter(lambda x:x<0, result)) A_b = list(filter(lambda x:x>0, result))

print(A_a + A_b)

2020/02/06 14:11

이국성

array = input('n개의 정수를 가진 배열을 입력하시오:').split(' ')
def negPos(array):
    return [int(i) for i in array if i[0] == '-'] + [int(i) for i in array if i[0] != '-']

2020/02/07 10:40

KMH

numberlist = [-1,1,3,-2,2,-5,4,6,-6]

list = []
minus = 0
plus = 0
for i in numberlist:
    if i < 0:
        list.insert(minus, i)
        minus += 1
    if i >= 0:
        list.insert(minus+plus, i)
        plus += 1

print(list)

2020/02/07 18:50

전성국

print("정수의 배열을 입력해주세요. 각각의 정수는 띄어쓰기로 구분합니다.")

nums = input().split(" ")
num_list = []
pos_list = []
neg_list = []

for num in nums:
    num = int(num)
    num_list.append(num)
# print(num_list)

for num in num_list:
    if num >= 0:
        pos_list.append(str(num))
    else:
        neg_list.append(str(num))

list_arranged = neg_list + pos_list
num_arranged = " ".join(list_arranged)

print("정렬된 결과입니다.")
print(num_arranged)

2020/02/09 16:43

jellybin 4585

def special_sort(input):
    output=[x for x in input if x <0] +[x for x in input if x>=0]
    return output

a=special_sort([-1, 1, 3, -2, 2 ])
print(a)

>>[-1, -2, 1, 3, 2]

파이썬입니다

2020/02/10 09:27

지창현

문제만 보면 굉장히 복잡할거라 생각했는데 막상 코드를 쓰다 보니...간단하네요ㅎㅎ N열 배열은 사용자 입력을 받는 방식으로 만들어 봤습니다.

import sys

def isNumber(num):
    try:
        float(num)
        return True
    except ValueError:
        return False

array_Num = []

while True:
    num = input('Input number: ')
    if isNumber(num):
        array_Num.append(int(num))
    elif num == 'end':
        break
    else:
        print('Wrong input. Only number allowed\n')

array_Minus = []
array_Plus = []

for num in array_Num:
    if num >= 0:
        array_Plus.append(num)
    else:
        array_Minus.append(num)

array_Num = array_Minus + array_Plus
print(array_Num)

2020/02/10 12:16

mover00

파이선 3.8

array = [-1, 1, 3, -2, 2]
result = []
for i in range(len(array)):
    if array[i] < 0:
        result.append(array[i])
for i in range(len(array)):
    if array[i] > 0:
        result.append(array[i])
print(result)

2020/02/18 14:41

카레맛카레

class Program
    {


        static void Main(string[] args)
        {
            int[] arr = { -1, 1, 3, -2, 2 };
            List<int> P_list = new List<int>();
            List<int> M_list = new List<int>();
            for (int i = 0; i < arr.Length; i++)
            {
                if (i > 0) P_list.Add(arr[i]);
                else M_list.Add(arr[i]);
            }
            P_list.Sort();
            M_list.Sort();
            for (int j =0; j<P_list.Count; j++)
                M_list.Add(P_list[j]);
            for (int k = 0; k < M_list.Count; k++)
                Console.Write(" {0}",M_list[k]);            
        }
    }  

2020/02/20 17:35

서주혁

파이썬으로 작성됨

data = "-1 1 3 -2 2 5".split(" ")

minus = []
plus = []
ans = []

for i in range(0, len(data)):
    if int(data[i]) < 0:
        minus.append(data[i])
    else:
        plus.append(data[i])

ans.extend(minus)
ans.extend(plus)

print("예 %s ans: %s" % (" ".join(data), " ".join(ans)))

2020/02/24 02:52

우제훈

numbers = [-1,1,3,-2,2]
pos =[]
neg =[]
for number in numbers:
    if number > 0:
        pos.append(number)
    elif number <0:
        neg.append(number)

newnum = neg+pos

print("정렬결과:",newnum)

2020/02/25 15:34

황예진

listA = [-1, 1, 3, -2, 2]
listB = []

for i in listA:
    if i < 0:
        listB.append(i)
for i in listA:
    if i > 0:
        listB.append(i)

print(listB)

2020/03/05 10:41

See Eun (Alex) Hong

wholelist = input("enter the numbers  ").split(' ')
minus = list()
plus = list()
for x in range(len(wholelist)):
    if int(wholelist[x]) >= 0:
        plus.append(wholelist[x])
    else:
        minus.append(wholelist[x])
print(minus + plus)

2020/03/05 13:27

def specialSort(l1):
    result1 = []
    result2 = []
    for i in l1:
        if i < 0:
            result1.append(i)
        elif i >= 0:
            result2.append(i)
    return result1 + result2


print(specialSort([-1, 1, 3, -2, 2]))

2020/03/05 15:27

inca1735

input_list = input().split() input_list = list(map(int, input_list)) mylist1 = [] mylist2= [] for i in range(len(input_list)): if input_list[i] < 0: mylist1.append(input_list[i]) else: mylist2.append(input_list[i]) mylist1 = mylist1 + mylist2 print(mylist1)

2020/03/06 12:54

sotmef222

만들어 보았습니다.

def sort_number(q):
    return ([i for i in q if i<0] + [i for i in q if i>=0])

print(sort_number([-1,0,1,2,3,-4]))

2020/03/06 22:23

_김준희_

list_a = [-1, 1, 3,-2, 2] sorted_list_positive = [] sorted_list_negative = []

for i in list_a: if i < 0: sorted_list_negative.append(i) else: sorted_list_positive.append(i)

print(sorted_list_negative+sorted_list_positive)

2020/03/08 08:17

skyrunner

a = [-1, 1, 3, -2, 2]
a1 = []
a2 = []
for i in a:
    if i < 0:
        a1.append(i)
    elif i > 0:
        a2.append(i)
print(a1+a2)

2020/03/08 19:28

mjK

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>


void main()
{
    int list[5] = { -1, 1, 3, -2, 2 };

    int i, j, temp;
    i = 0;

    for (j = i + 1; j < 5; j++)
    {
        if (list[j] < 0)
        {
            if (list[i] >= 0)
            {
                temp = list[j];
                list[j] = list[i];
                list[i] = temp;
                i = i - 2;
                j = j - 2;
            }
        }
        i++;
    }
    for (i = 0; i < 5; i++)
    {
        printf("%d ", list[i]);
    }
}

2020/03/09 16:48

Seung Hyun Kim

number = [-1, 1, 3, -2, 2, 4, 0, -7, 2, 3, 4, -5]
a = []
b = []
c = []
for i in number:
    if i < 0:
        a.append(i)
    elif i == 0:
        b.append(i)
    else:
        c.append(i)

print(a,b,c)

2020/03/12 15:31

장래희망코인물

#입력: a = -1 1 3 -2 2
#출력: -1 -2 1 3 2
#함수: while을 이용하여 a[0]부터 끝까지 체크하여 음수면 a에 양수면 b에 추가시킨 후 합친다


num = "-1,1,3,-2,2"
num = num.split(",")
print(num)
a=[]
b=[]
k=0
while True:
    if k>=len(num):break
    if int(num[k])<0:
        a.append(num[k])
    elif int(num[k])>=0:
        b.append(num[k])
    k+=1
print(" ".join(a+b))

2020/03/17 13:07

신지환

n = (-6, -5, 3, -8, 8, 1)
def arrange(n):
    result, temp = [], []
    for i in n:
        if i < 0:
            result.append(i)
        if i > 0:
            temp.append(i)
    print(result+temp)

arrange(n)

2020/03/18 14:05

최형석

#include <iostream>
#include <vector>;
using namespace std;

int main() {    
    int arr[] = { -1,1,3,-2,2,-4 };
    int size = sizeof(arr) / sizeof(int);

    for (int i = 0; i < size; i++)
        cout << "arr[" << i << "]:" << arr[i] << " ";
    cout << endl;

    vector<int> v;

    for (int i = 0; i < size; i++)
        if (arr[i] < 0) { v.push_back(arr[i]); }

    for (int i = 0; i < size; i++)
        if (arr[i] >= 0) { v.push_back(arr[i]); }

    for (int i = 0; i < v.size(); i++)
        arr[i] = v[i];

    for (int i = 0; i < size; i++)
        cout << "arr[" << i << "]:" << arr[i] << " ";
    cout << endl;
}

2020/03/19 15:59

++C

_num = [-1,1,3,-2,2,7,-5,9]
_sort = []

for i in _num:
    if i < 0:
        _sort.append(i)
for i in _num:
    if i > 0:
        _sort.append(i)

print(_sort)

파이썬

2020/03/20 00:45

기둘비


a="-1 1 3 -2 2"
a=a.split()

result = list() # 음수만 담자
result1=list() #양수만 담자

for i in range(len(a)):
    if int(a[i]) < 0 : 
        result.append(a[i])
    else :
        result1.append(a[i])

print(result+result1)

2020/03/22 17:39

우당탕탕탕


def do(s):
  minus = []
  plus = []

  for x in s:
    if x < 0:
      minus.append(x)
    else:
      plus.append(x)

  minus.extend(plus)
  return minus

print(do([-1 , 1,3,-2,2]))

2020/03/24 22:26

홍선우

#입력을 받는대신 배열n을 랜덤으로 생성하였습니다

from random import *
n=[]
for i in range (randint(6,11)):
    n.append(randint(-10,10))
print ('Input=',n)

for j in range (len(n)-1):
    for i in range (len(n)-1):
        if (n[i]>=0 and n[i+1]<0):
            temp=n[i+1]
            n[i+1]=n[i]
            n[i]=temp
print ('Output=',n)

2020/03/30 13:55

Buckshot

<결과> Input= [-7, -3, -8, 8, 1, -2] Output= [-7, -3, -8, -2, 8, 1] Input= [-3, 8, 5, 10, 3, 8, 1, 4] Output= [-3, 8, 5, 10, 3, 8, 1, 4] Input= [-2, 1, 3, 1, -3, -1, 9, 0, -8] Output= [-2, -3, -1, -8, 1, 3, 1, 9, 0] - Buckshot, 2020/03/30 13:56
num = [-1, 1, 3, -2, 2]

a = []
b = []

for i in num :
    if i < 0 :
        a.append(i)

    if i >= 0 :
        b. append(i)


print(a+b)

2020/04/02 21:26

조민섭

어떻게 해야하나 싶다가 다른분것을 보면 아하... 하게 되네요 음과 양의 리스트 2개를 만들고 리스트를 for문을 돌면서 각각의 리스트에 추가후 마지막에 음의 리스트 + 양의 리스트 형태로 정렬하는 방식인데 저는 장황하네요...

def func_list(ori_list):
    plus_list, minus_list = [], []
    for i in  ori_list:
        if i >= 0:
            plus_list.append(i)
        else:
            minus_list.append(i)
    return minus_list + plus_list

n_list = [-1, 1, 3, -2 , 2]
print(func_list(n_list))

2020/04/03 21:53

잘해보자

arr = [5,4,-3,3,-3,-6,5,-4,-7,3] #[-3,-3,-6,-4,-7,5,4,3,5,3] exp = [] list=[] minus=[] for i,x in enumerate(arr): if x>0: order = i #2 break

for i,x in enumerate(arr): if i>order: if x<0: list.append(i)

list.reverse()#음수값 뺴오기 위해 리버스

for x in list: #음수값 제거 minus.append(arr.pop(x))

for x in minus: arr.insert(order,x)

print(arr)

2020/04/03 23:06

Lee Lee

list(filter(lambda x : x<0, [-1,1,3,-2,2])) + list(filter(lambda x : x>=0, [-1,1,3-2,2]))

2020/04/08 13:33

Polarbear1111

list_tmp=[-1,1,3,-2,2]
print(sorted(list_tmp))

2020/04/08 18:00

조윤재

li=[-1,3,-2,5,4,7,9,-6,-4,-17,45]

lin=[]
lip=[]
lit=[]

for n in range(len(li)):
    if li[n]<0:
        lin.append(li[n])

    else :
        lip.append(li[n])


lit=lin+lip
print(lit)

2020/04/08 23:26

양양짹짹

arrayData=[-1,1,3,-2,2]
firstPlusLocation=0
locationCount=0
temp=0
for arrayValue in arrayData:
    if arrayData[firstPlusLocation]<0:
        for count in range(firstPlusLocation,len(arrayData)):
            if arrayData[count]>0:
                firstPlusLocation=count
                break
    if firstPlusLocation < locationCount:
        if arrayValue<0:
            for pushcount in range(locationCount,firstPlusLocation,-1):
                tmp=arrayData[pushcount-1]
                arrayData[pushcount-1]=arrayData[pushcount]
                arrayData[pushcount]=tmp                
    locationCount+=1
print(arrayData)  

파이썬으로 음수가 가야할 양수의 위치를 감시하는 for문과 음수가 발견되엇을때 그걸로 한칸씩 이동하는 for문으로 작성했습니다.

2020/04/09 12:46

yhpdoit

def array(s):
    Lst = s.split(',')
    n_num = [] #음수
    p_num = [] #양수
    z_num = [] #0
    for i in Lst:
        if int(i) < 0:
            n_num.append(i)
        elif int(i) > 0:
            p_num.append(i)
        else:
            z_num.append(i)

    result = n_num + z_num + p_num
    print(','.join(result))



array('-1, 1, 3, -2, 2')

2020/04/19 17:29

ptjddn95

for x in b:
    if int(x)<0:
        c.append(x)
    if int(x)==0:
        d.append(x)
    if int(x)>0:
        e.append(x)
list_a=c+d+e


f=""
for y in list_a:
    f+=" "+y
print(f[0:])

2020/04/20 15:12

도희성

```{.python} list_a=[-1,1,3,-2,2] list_b=[] for i in range(len(list_a)): if list_a[i]<0: list_b.append(list_a[i]) for i in range(len(list_a)): if list_a[i]>0: list_b.append(list_a[i])

print(list_b)

```list_a=[-1,1,3,-2,2] list_b=[] for i in range(len(list_a)): if list_a[i]<0: list_b.append(list_a[i]) for i in range(len(list_a)): if list_a[i]>0: list_b.append(list_a[i])

print(list_b)

2020/04/20 21:39

kim center

파이썬

a = [-3, 3, -1, 10, 2, 6, -10, -20, -5, 4, -56, 1] #임의의 배열
b = [] #음수 list
c = [] #양수 list
for i in a:
    if i < 0:
        b.append(i)
    else:
        c.append(i)
d = b + c
print(d)

2020/04/22 10:25

umtitled

l = [-1, 1, 3, -2, 2]
print([i for i in l if i < 0]+[i for i in l if i >= 0])

2020/04/24 15:31

YB Jung

data=np.random.randint(-10,10,8)

lis=[] for i in range(len(data)): if data[i]<0: lis.append(data[i]) for i in range(len(data)): if data[i]==0: lis.append(data[i])

for i in range(len(data)): if data[i]>0: lis.append(data[i]) print(lis)

2020/04/25 19:23

kim ih

int main(void) {
    int arr[5]; int i;
    for (i = 0; i < 5; i++) {
        puts("입력:");
        scanf("%d", &arr[i]);
    }
    int ps=0, ms=0;
    for (i = 0; i < 5; i++) {
        if (arr[i] >= 0)
            ps++;
        else if (arr[i] < 0)
            ms++;
    }
    int* brr = malloc(sizeof(int) * ms);
    int* crr = malloc(sizeof(int) * ps);
    int j = 0; int k = 0;
    int temp1,temp2;
    for (i = 0; i < 5; i++) {
        if (arr[i] < 0) {
            temp1 = arr[i];
            brr[j] = temp1;
            j++;
        }
        else if(arr[i] >= 0) {
            temp2 = arr[i];
            crr[k] = arr[i];
            k++;
        }
    }
    for (i = 0; i < ms; i++) {
        printf("%d ", brr[i]);
    }
    for (i = 0; i < ps; i++) {
        printf("%d ", crr[i]);
    }
}

c로 풀어봤습니다 제 수준을 보니 좀더 공부해야겠습니다.

2020/04/26 19:51

ᄀᄉ

# Special Sort

input1 = input("원하는 숫자를 입력하세요.")

input1 = input1.split(" ")

minus = []
plus = []

for i in input1:
    if int(i) >= 0:
        plus.append(i)
    else:
        minus.append(i)

print(minus + plus)

2020/04/28 20:50

박성진

파이썬으로 작성해 봤습니다.

input_num = input("input number list : ").split(",")
list_num = [int(x) for x in input_num]

def minus(list):
    minus = [x for x in list if x < 0]
    return minus

def plus(list):
    plus = [x for x in list if x > 0]
    return plus


print(minus(list_num)+plus(list_num))

2020/04/30 15:41

peca lee

import java.util.ArrayList;

public class Q028 {

    public static void main(String[] args) {
        int[] ex = { -1, 1, 3, -2, 2 };
        int[] ans = new int[ex.length];
        ArrayList<Integer> minus = new ArrayList<Integer>();
        ArrayList<Integer> plus = new ArrayList<Integer>();

//      음수와 양수를 각각 분리해서 리스트에 추가
        for (int i = 0; i < ex.length; i++) {
            if (ex[i] < 0)
                minus.add(ex[i]);
            else
                plus.add(ex[i]);
        }

        for (int i = 0; i < minus.size(); i++)
            ans[i] = minus.get(i);
        for (int i = minus.size(); i < ex.length; i++)
            ans[i] = plus.get(i - minus.size());
    }
}

java

2020/05/02 16:03

Daniel Park

def special_sort(l):
    return [x for x in l if x < 0] + [x for x in l if x == 0] + [x for x in l if x > 0]

2020/05/06 17:50

김준혁

ans = [-1,1,3,-2,2]
i = 0
ans_neg = []
ans_pos = []

while i < len(ans):
    if ans[i] < 0:        
        ans_neg.append(ans[i])
        i += 1
    elif ans[i] > 0:
        ans_pos.append(ans[i])
        i += 1
    else:
        i += 1


print(ans_neg+ans_pos)

2020/05/06 23:34

Money_Coding

```{.python} ns = "-1 1 3 -2 2".split() int_ns = list(map(int,ns)) # int_ns = [int(n) for n in ns]

print(int_ns) listns = []

for n in int_ns: if n < 0: listns.append(n)

for n in int_ns: if n > 0: listns.append(n)

print(listns)


listns2 = []

minus_int = [listns2.append(n) for n in int_ns if n < 0]

plus_int = [listns2.append(n) for n in int_ns if n > 0]

print(listns2)

```기본 for문으로 사용하였고, 리스트 안에 있는 str 숫자를 int로 바꾸는 법을 몰라서 이건 검색해서 찾아 공부하여 풀어내었습니다 ㅜ

2020/05/13 10:00

진)파이썬마스터

a = input('숫자를 여러개 입력하세요: ').split()

b = []
c = []

for i in a:
    if int(i) < 0:
        b.append(i)
    else:
        c.append(i)

print(b + c)

2020/05/14 01:24

재미있는영상어디없나

#파이썬
numberList = [-1,1,3,-2,2]

def sort(numberList):
    return [x for x in numberList if(x < 0)] + [x for x in numberList if(x >= 0)]

print(sort(numberList))

2020/05/17 23:57

맛나호두

_list = sorted([-1, 1, 3, -2, 2])
result = []

for item in _list:
    if item < 0:
        result.insert(0, item)
    else:
        result.append(item)

print(result)

2020/05/29 03:03

Bruce Gwon

파이썬3입니다. for, if 코드를 한줄로 줄이는 것을 연습하고 있습니다. minus, plus 리스트 만드는 코드 두줄을 한줄로 줄이려면 어떻게 해야될까요?

import random as r
n = [r.randint(-300,300) for _ in range(r.randint(10,20))]
print(f'The original list is {n}')
minus = [n[i] for i in range(len(n)) if n[i]<0]
plus = [n[i] for i in range(len(n)) if n[i]>=0]
n = minus + plus
print(f'The special sorted list is {n}')


2020/06/11 11:56

누마루

nunbers = list(map(int,input().split()))
blank1 = []
blank2 = []

for i in range(len(nunbers)):
    if nunbers[i]< 0:
        blank1.append(nunbers[i])
    elif nunbers[i]>= 0:
        blank2.append(nunbers[i])

specialrange = blank1 + blank2
print(specialrange)

2020/06/13 03:29

Rossie

arr = [-1, 1, 3, -2, 2]
for i in arr:
    if i < 0 :
        print(i)
for i in arr:
    if i > 0 :
        print(i)

2020/06/17 17:27

YSM

package codingdojang;

public class example005_SpecialSort {

    public static void main(String[] args) {

        int[] intArr = {-1,1,3,-2,2,-3,4};


        for (int i = 0; i < intArr.length; i++) {
            if (intArr[i]<0) {
                for (int j = 0; j < i; j++) {
                    if(intArr[j]>0) {
                        int temp = intArr[i];
                        for (int k = i; k > j ; k--) {
                            intArr[k]=intArr[k-1];
                        }
                        intArr[j]=temp;
                        break;
                    }
                }
            }
        }
        for (int i = 0; i < intArr.length; i++) {
            System.out.print(intArr[i]);            
        }
    }
}

2020/06/19 19:29

Y재진

파이썬

array = [-8, -3, -9, 5, 6, -9, -1, 9, 3, 1, 5, -8]
minus = [x for x in array if x < 0]
plus = [x for x in array if x > 0]

print(minus + plus)

2020/06/29 23:54

Tesseract

파이썬 3.7

a=[-1,1,3,-2,2] a1=[] a2=[] for i in range(len(a)): if a[i]>=0: a1.append(a[i]) else: a2.append(a[i]) a3=a2+a1 print(a3)

2020/06/30 08:54

kim ih

#include <iostream>
#include <stdio.h>
#define MAX_COUNT 5
using namespace std;

void BubbleSort(int arr[], int size) {
    int i, j, temp = 0;

    for (i = 0; i < size - 1; i++) {
        for (j = 0; j < size - 1 - i; j++) {
            if (arr[j + 1] <= 0) {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

int main()
{
    int data[MAX_COUNT] = { -1, 1, 3, -2, 2 };
    int i;

    BubbleSort(data, MAX_COUNT);

    printf("ans : ");
    for (i = 0; i < MAX_COUNT; i++) printf("%d ", data[i]);
    return 0;
}

C++ BUBBLE

2020/07/02 17:18

채수현

잘하신 분들 것 참고해서 안보고 작성했습니다.

# 구글 문제

list = [-1, -5, 4, 1]

def sort_this(list) :
    final_ans = []
    temp_1 = []
    temp_2 = []
    for i in list:
        if i < 0 :
            temp_1.append(i)
        else :
            temp_2.append(i)
    final_ans = temp_1 + temp_2
    return final_ans

print(sort_this(list))

2020/07/07 10:00

Uno

input = [-1, 1, 3, -2, 2]

minus = [ v for v in input if v < 0]
plus = [ v for v in input if v > 0]
minus.sort(reverse=True)
# plus.sort()
output = minus + plus
# print(minus)
# print(plus)
print(output)

2020/07/10 15:14

Chang-Hoon Lee

package main

import (
    "fmt"
    "strconv"
    "strings"
)

func printlist(funclist []string) {
    for i := 0; i < len(funclist); i++ {
        fmt.Print(funclist[i])
        fmt.Print(" ")
    }
}
func main() {
    var N string
    fmt.Scanf("%s", &N)
    M := strings.Split(N, ",")
    uplist := []string{}
    underlist := []string{}
    for i := 0; i < len(M); i++ {
        var check int
        check, _ = strconv.Atoi(M[i])
        if check >= 0 {
            uplist = append(uplist, M[i])
        }
        if check < 0 {
            underlist = append(underlist, M[i])
        }
    }
    printlist(underlist)
    printlist(uplist)
}

2020/07/12 17:26

BlakeLee

public class NoTitle {
public static void main(String[] args) {
    int[] a = new int[]{-1, 1, 3, -2, 2};
    int[] b = new int[5];
    int x=0;
    for(int i=0; i<5; i++){
        if(a[i]<0){
            b[x]=a[i];
            x++;
        }
    }
    for(int i=0; i<5; i++){
        if(a[i]>0){
            b[x]=a[i];
            x++;
        }
    }
    for(int i=0; i<5; i++){
     System.out.print(b[i]);
}

}
}

2020/07/17 22:58

문정민

  public static int[] mySort(int[] arr) {
        int temp=0;
        boolean flag=true;
        int startNum=1;
        while(flag) {
            for(int i=startNum;i<arr.length;i++) {
                if(arr[i]<0 && arr[i-1]>0) {
                    temp=arr[i];
                    arr[i]=arr[i-1];
                    arr[i-1]=temp;
                }
            }
            startNum++;
            if(startNum==arr.length-1) {
                flag=false;
            }
        }
        return arr;
    }

    public static void main(String[] args) {
        int[] arr= new int[] {-1,1,3,-2,2};
        System.out.println(Arrays.toString(mySort(arr)));
    }

2020/07/20 23:21

이소영

num= input("Enter a numberline: ").split()
num=[int(x) for x in num]
num1=[num[i] for i in range(len(num)) if num[i]<0]
num1.reverse()
[num.remove(p) for p in num1]
[num.insert(0,i) for i in num1]
print(num)

2020/07/26 06:44

김병관

a = [] b = [] c = [] for i in range(5) : a.append(int(input("입력 ="))) for i in a : if i < 0 : b.append(i) else : c.append(i) print(b+c){.python} a = [] b = [] c = [] for i in range(5) : a.append(int(input("입력 ="))) for i in a : if i < 0 : b.append(i) else : c.append(i) print(b+c)

2020/07/30 16:50

윤승현10417

package Lv_1;
/*
import java.util.ArrayList;

public class special_Sort {

    public special_Sort() {}
    ArrayList<Integer> list = new ArrayList<Integer>();

    public void change() {
        for(int i=1; i<list.size(); i++) {
            if(list.get(i)<0) {
                for(int j=(i-1); j>=0; j--) {
                    if(list.get(j)<0) {
                        list.add(j+1, list.get(i));
                        list.remove(i+1);
                        break;
                    }
                }
            }
        }
    }
    public static void main(String args[]) {
        //-1 1 3 -2 2 //-1 -2 1 3 -2 2 // -1 -2 1 3 2
        special_Sort st = new special_Sort();
        st.list.add(-1); st.list.add(1); st.list.add(3); st.list.add(-2); st.list.add(2);
        System.out.println(st.list);
        st.change();
        System.out.println(st.list);
    }
}

2020/07/31 10:26

김승현

알고리즘 일단 안쓰고

#include <iostream>
using namespace std;
/*n개의 정수를 가진 배열이 있다. 이 배열은 양의정수와 음의 정수를 모두 가지고 있다.
이제 당신은 이 배열을 좀 특별한 방법으로 정렬해야 한다.

정렬이 되고 난 후, 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다.
또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다.
예. -1 1 3 -2 2 ans: -1 -2 1 3 2. */

int main()
{
    int size=0;
    int data = 0;
    int a[100];
    cout << "숫자 몇개 입력하실?" << endl;
    cin >> size;
    cout << "숫자 입력하세용" << endl;

    for (int i = 0; i < size; i++)
    {
        cin >> a[i];
    }

    for (int i = 0; i < size; i++)
    {
        for (int y = 0; y < size - 1; y++)
        {
            if (a[y] > 0 && a[y + 1] < 0) 
            {
                data = a[y];
                a[y] = a[y + 1];
                a[y + 1] = data;
            }
        }
    }

    for (int i = 0; i < size; i++)
    {
        cout << a[i] << " ";
    }

}

2020/08/03 00:22

허병우

벡터가 더 효율적인거 같음

#include <iostream>
using namespace std;
/*n개의 정수를 가진 배열이 있다. 이 배열은 양의정수와 음의 정수를 모두 가지고 있다.
이제 당신은 이 배열을 좀 특별한 방법으로 정렬해야 한다.

정렬이 되고 난 후, 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다.
또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다.
예. -1 1 3 -2 2 ans: -1 -2 1 3 2. */
#include <iostream>
#include <vector>
using namespace std;

int main()
{
    vector<int> a, positive, negative;
    int number, size;
    cout << "몇개?";
    cin >> size;
    for (int i = 0; i < size; i++)
    {
        cin >> number;
        a.push_back(number);
    }
    for (int i = 0; i < size; i++)
    {
        if (a[i] > 0)
        {
            positive.push_back(a[i]);
        }
        else
            negative.push_back(a[i]);
    }

    for (int i = 0; i < negative.size(); i++)
        cout << negative[i] << " ";
    for (int i = 0; i < positive.size(); i++)
        cout << positive[i] << " ";
    return 0;
}

2020/08/03 00:38

허병우

import java.util.ArrayList;
import java.util.Arrays;

public class a {
    public static void main(String[] args){
        int[] num = {-1,1,3,-2,2};
        ArrayList<Integer> pos = new ArrayList<Integer>();
        ArrayList<Integer> zer = new ArrayList<Integer>();
        ArrayList<Integer> neg = new ArrayList<Integer>();
        for(int i=0;i<num.length;i++){
            if(num[i]>0){
                pos.add(num[i]);
            } else if(num[i]==0){
                zer.add(num[i]);
            } else{
                neg.add(num[i]);
            }
        }
        StringBuilder sb = new StringBuilder();
        for (Integer s : neg)
        {
            sb.append(s);
            sb.append("\t");
        }
        for (Integer s : zer)
        {
            sb.append(s);
            sb.append("\t");
        }
        for (Integer s : pos)
        {
            sb.append(s);
            sb.append("\t");
        }
        System.out.println(sb.toString());
    }
}

2020/08/11 00:56

skio


def spsort(a):
    indices = []
    subindices =[]
    for i in a:
        if i < 0 :
            indices.append(a.index(i))
        else:
            subindices.append(a.index(i))
    c = [a[i] for i in indices] + [a[i] for i in subindices]
    return c

2020/08/19 22:49

Hans920

import java.util.*;

public class SpecialSort {

    public static void main(String[] args) {

        Scanner kb = new Scanner(System.in);
        List<Integer> list = new ArrayList<Integer>();

        System.out.print("입력할 정수의 개수 : ");
        int n = kb.nextInt();
        System.out.print("정수 입력 : ");
        for(int i = 0 ; i < n ; ++i)
            list.add(kb.nextInt());

        for(int i = n-1 ; i > 0 ; --i) {
            for(int j = 0 ; j < i ; ++j) {
                if((list.get(j) >= 0) && (list.get(j+1) < 0) ) {
                    int tmp = list.get(j);
                    list.set(j, list.get(j+1));
                    list.set(j+1, tmp);
                }
            }
        }
        Iterator it = list.iterator();

        while(it.hasNext()) {
            System.out.print(it.next()+" ");
        }

    }

}

2020/08/20 13:20

kkd0153

numbers = "-1 1 3 -2 2"
list_numbers = numbers.split()
minus = []
plus = []
for number in list_numbers:
    if int(number) > 0:
        plus.append(number)
    elif int(number) < 0:
        minus.append(number)

result = minus + plus
print("ans: ", end="")

i = 0
while i < len(result):
    print(result[i], end=" ")
    i += 1

2020/08/21 01:25

SIS

numbers = input("숫자들을 입력하세요>>> ")
numlist = numbers.split()
minuslist = [ ]
pluslist = [ ]
for i in numlist:
    i = int(i)
    if i < 0:
        minuslist.append(i)
    else:
        pluslist.append(i)

newnumlist = minuslist + pluslist
print(newnumlist)

2020/08/29 23:18

YoungJun-Ryu

package example01;

public class Google {
//배열 오름차순 스왑하는 법 이용해서 풀엇습니다.
    public static void main(String[] args) {
        int a[]= {-1,1,3,-2,2,-3,-2,-1};

        for(int i=0;i<a.length;i++) {
            for(int j=i+1;j<a.length;j++) {
                if(a[i]>a[j]&&a[j]<0) {
                    int temp=a[j];
                    a[j]=a[i];
                    a[i]=temp;
                }
            }
        }
        for(int i=0;i<a.length;i++) {   
            System.out.print(a[i]+" ");
        }
    }

}

2020/09/02 11:46

뚜떱 sooyeon_surf

def run(alist):
    minus = [x for x in alist if x < 0]
    plus = [x for x in alist if x >= 0]
    return minus + plus

data = [-1, 1, 3, -2, 2]
print(run(data))

2020/09/06 23:43

BigMango

#include <stdio.h>
#include <stdlib.h>

int main(){

int arr[7]={-4,11,-7,1,-6,3,2};

int n,i,temp;

int size=sizeof(arr)/sizeof(int);

for(n=0;n<=size;n++)
{
    for(i=0;i<=size;i++)
    {
        if(arr[i]>=0 && arr[i+1]<0)
        {
            temp=arr[i+1];
            arr[i+1]=arr[i];
            arr[i]=temp;
        }
    }
}
for(i=0;i<=6;i++)
    printf("%d ",arr[i]);

return 0;

}

c언어 사용- 배열 입력하는 것은 차후에

2020/09/10 23:18

June

import java.util.*;
public class test4 {
    public static void main(String[] args) {
        int[] input = {-1,1,3,-2,2};
        ArrayList<Integer> array_minus = new ArrayList<>();
        ArrayList<Integer> array_plus = new ArrayList<>();

        for(int a = 0; a< input.length; a++) {
            if(input[a] < 0 ) {
                array_minus.add(input[a]);
            } else {
                array_plus.add(input[a]);
            }
        }

        for(int a = 0; a< array_minus.size(); a++) {
            System.out.print(array_minus.get(a)+",") ;
        }
        for(int a = 0; a< array_plus.size(); a++) {
            System.out.print(array_plus.get(a)+",") ;
        }
    }
}

0은 일단 양의정수라고 치고 풀었는데 맞나요?

2020/09/11 17:00

nazunamoe

array=[-1,1,3,-2,2]
array1=[]
array2=[]
for i in array:
    if i<0:
        array1.append(i)
    else:
        array2.append(i)

array=array1+array2
print(array)

2020/09/13 19:01

정재욱

int[] arr = { -1, 1, 3, -2, 2 };
        boolean lo;

        do {
            lo = false;
            int temp = 0;
            for (int i = 0; i < arr.length - 1; i++) {

                    if (arr[i] >= 0 && arr[i+1] <= 0) {
                        temp = arr[i];
                        arr[i] = arr[i+1];
                        arr[i+1] = temp;
                        lo = true;

                }
            }
        } while(lo);

        for(int a : arr) {
            System.out.println(a);
        }

2020/09/14 11:29

cs p

n = input("numlist: ")

def ss(n) _p = [] _m = [] for p in n: if p > 0: _p.append(p) elif p < 0: _m.append(p) sortnum = _m + _p print(sortnum)

2020/09/16 08:50

Chris Cheon

negativeNumbers=[]
positiveNumbers=[]


numbers=[-1,1,3,-2,2]
for x in numbers:
    if x<0:
        negativeNumbers.append(x)
    else:
        positiveNumbers.append(x)

sortedNumbers=negativeNumbers+positiveNumbers

plus=''
for x in sortedNumbers:
    plus+=str(x)
    plus+=' '
print(plus)


2020/09/22 16:31

안녕하세요

public class solution {

    public static void main(String[] args) {

    int[] list = new int[] {-1, 1, 3, 2, -2};
    for(int i = 0; i < list.length-1; i++) {
        for(int j = 0; j < list.length-1-i; j++) {
            if(list[j] > 0 && list[j+1] < 0) {
                int k = list[j];
                list[j] = list[j+1];
                list[j+1] = k;
            }
        }
    }
        for(int k : list) {
            System.out.print(k + " ");
        }
    }
}

2020/09/22 21:12

B A

input = [-1,1,3,-2,2]
m = []
p = []

for i in range(len(input)) :
    if input[i] < 0 :
        m.append(input[i])
    elif input[i] > 0 :
        p.append(input[i])
print(m + p)

2020/09/24 15:30

익명

n=[-1,1,3,-2,2,-3]
a=[i for i in n if i<0]
b=[j for j in n if j>0]
print(a+b)

2020/09/25 09:41

AppleFarmer

arr = [-11, -9, 12, 15, -1, 2, 1, 5, -3, -7, 8, -2, 7, 4, 0]

a = [x for x in arr if x < 0]

b = [x for x in arr if x >= 0]

a.sort(reverse=True)

b.sort()

new_arr = a + b

print(new_arr)

2020/09/25 17:36

leejh

nums = [-1,1,3,-2,2]

negatives = []
positives = []

for num in nums:
    if num < 0:
        negatives.append(num)
    elif num >= 0:
        positives.append(num)

result = negatives + positives
print(result)

2020/09/28 20:35

이셩

#include <iostream>
using namespace std;

int main() {
    int intArray[] = { -1,1,3,-2,2,-5 };

    for (int i = 0; i < sizeof(intArray) / sizeof(int); i++) {
        int key = intArray[i];
        if (key < 0) {
            int j;
            for (j = i - 1; j >= 0 && intArray[j]>0; j--) {
                intArray[j + 1] = intArray[j];
            }
            intArray[j + 1] = key;
        }
    }

    for (int i = 0; i < sizeof(intArray)/sizeof(int); i++)
        cout << intArray[i] << " ";

    return 0;
}

2020/10/01 00:07

김동현

namespace _62일차_10월02일
{        
    class MainApp
    {        
        static void Main(string[] args)
        {
            int[] Array_int = new int[] { -1, 1, 3, -2, 2 };
            List<int> Temp = new List<int>();
            for(int i = 0; i < Array_int.Length; i++)
            {
                if (Array_int[i] < 0)
                {
                    Temp.Add(Array_int[i]);
                }
            }
            for(int j = 0; j < Array_int.Length; j++)
            {
                if (Array_int[j] >= 0)
                {
                    Temp.Add(Array_int[j]);
                }
            }

            foreach (var Result in Temp)
            {
                Console.Write($"{Result} ");
            }

        }
    }
}

2020/10/02 13:24

MinSeung Kang

class OrganizeData:
    def __init__(self):
        self.result = []
        self.neg = []
        self.pos = []
    def doSort(self,data):
        print("BEFORE = ",data)
        for i in data:
            if i<0:
                self.neg.append(i)
            else:
                self.pos.append(i)
            self.result = self.neg+self.pos
        return self.result

data = [-1, 1, 3, -2, 2]

a = OrganizeData()
b = a.doSort(data)
print("AFTER = ",b)

2020/10/03 20:33

footsize

nums = [-1, 2, -3, 1, -2, 3]
nums_minus = []
nums_plus = []

for i in nums:
    if i  < 0:
        nums_minus.append(i)
    if i > 0:
        nums_plus.append(i)

nums_minus.sort()
nums_plus.sort()

nums_total = nums_minus + nums_plus
print(nums_total)

2020/10/11 14:14

계진석

파이썬입니다. 더 간단한 방법은 풀이를 찾아봐야겠네요 ㅎ

intergers = [200, -1, 1, 3, -2, 2, 0, 100, -20]

sort_int = []

# TO SORT OUT NEGATIVE NUMBERS AND APPEND INTO A NEW LIST
for num in intergers:
    if num < 0:
        sort_int.append(num)

# TO SORT OUT 0 AND APPEND INTO A NEW LIST.
for num in intergers:
    if num == 0:
        sort_int.append(num)

# TO SORT OUT POSITIVE NUMBERS AND APPEND INTO A NEW LIST
for num in intergers:
    if num > 0:
        sort_int.append(num)

print(sort_int) 

2020/10/12 16:37

방금프로그래밍시작함

list1=list(map(int,input().split(" ")))

list2=[]
list3=[]

for k in list1:
  if k > 0:
    list2.append(k)
  else:
    list3.append(k)

for i in list3+list2:
  print(i,end=" ")

2020/10/14 22:48

장래희망파이썬마스터

nums = [int(i) for i in '-1 1 3 -2 2'.split()]
nums2 = [i for i in nums if i < 0] + [i for i in nums if i>= 0]
print("original list:", nums)
print("special sorted list:", nums2)

2020/10/15 09:27

aryagaon

python 입니다. 문제와 별도로, 0이 있을 경우를 생각하여 작성한 코드도 올려봅니다. 버블정렬 swap 한 답변은 공부가 많이 되었네요

''' 배열에 0 이 없을 경우 '''
nlist_no_zero = [-1, 1, 3, -2, 2]
def special_sort_one():
    new_list = [i for i in nlist_no_zero if i < 0] + [i for i in nlist_no_zero if i > 0]
    print(new_list) # [-1, -2, 1, 3, 2]
special_sort_one()


''' 배열에 0 이 있을 경우: '''
nlist_one = [0, -1, 1, 3, -5, -2, 2]
nlist_two = [-1, 1, 3, -5, -2, 2, 0]
def special_sort_thee(nlist):
    negative_numlist = [i for i in nlist if i < 0]
    positive_numlist = [i for i in nlist if i > 0]
    if ",".join([str(i) for i in nlist]).count("0") > 0:
        negative_numlist.append(0)

    print(negative_numlist + positive_numlist)

special_sort_thee(nlist_one) # [-1, -5, -2, 0, 1, 3, 2]
special_sort_thee(nlist_two) # [-1, -5, -2, 0, 1, 3, 2]

2020/10/15 20:54

vcne0705

def sortlist(given_list) :
    list1, list2 = [], []
    for i in given_list :
        if i < 0 :
            list1.append(i)
        else :
            list2.append(i)
    return list1 + list2

a = [-1, 1, 3, -2, 2]
print sortlist(a)

2020/10/17 23:53

Centro

sl = [-1, 1, 3, -2, 2]
plus = []
minus = []
def specialSort(x):
    for i in x:
        if i > 0:
            plus.append(i)
        else:
            minus.append(i)
    minus.extend(plus)
    return minus

specialSort(sl)

2020/10/18 12:59

YZ S

li = [-1,1,3,-2,2]
li2 = []
li3 = []
for x in li:
    if x > 0:
        li2.append(x)
    else:
        li3.append(x)

print(li3+li2)

2020/11/03 02:23

김태관

list_negative = []
list_positive = []
nums = [1, 2, 3, 4, 5, -5, -4, -3, -2, -1]

for i in nums:
    if i > 0:
        list_positive.append(i)
    else:
        list_negative.append(i)

print(list_negative + list_positive)

2020/11/06 08:50

DSHIN

def specialSort(i):
    a = i.split()
    print([m for m in a if int(m) < 0] + [z for z in a if int(z) == 0] + [p for p in a if int(p) > 0]) 
    # m:minus/z:zero/p:plus


specialSort("-1 1 3 0 -2 2")

2020/11/12 15:36

김우석

def MinPlussort(lists):

mins=[]

pluss=[]

for i in lists:

if i<0:

  mins.append(i)

else:

  pluss.append(i)

total=[]

total=mins+pluss

print(total)

alist=(-1,1,3,-2,2)

MinPlussort(alist)

2020/11/21 23:17

전준혁

#include <stdio.h>

int main(void) {

    int ar[6] = { -1, 1, 0 ,3 ,-2,2 };


    int temp;


    for (int v = 0; v <= 9;v++) {
        for (int i = 0; i <= 5; i++) {
            if (i == 5)
                break;
            if (ar[i + 1] < 0 && ar[i] >=0) {
                temp = ar[i];
                ar[i] = ar[i + 1];
                ar[i + 1] = temp;
            }
        }
    }
    for (int i = 0; i <= 5; i++)
        printf("%d ", ar[i]);
    return 0;
}

c로 했습니다.

2020/11/23 16:48

gree Yu

int[] number = {2, -3, 6, 1, -5, -1};
        int length = number.length-1;

        for(int i=0; i<length; i++) {
            for(int j=0; j<length-i; j++) {
                if(number[j]>0 && number[j+1]<0) {
                    int tem=number[j+1];
                    number[j+1]=number[j];
                    number[j]=tem;
                }
            }
        }
        for(int i:number) {
            System.out.print(i+" ");
        }

2020/11/27 20:17

씨앗나무

파이썬 3.7.2 버전입니다.

import random

numbers = [random.randint(-100, 100) for _ in range(10)] # 무작위 정수 10개가 담긴 리스트 생성

print(f'원본: {numbers}')
print(f'정렬 후: {[x for x in numbers if x < 0] + [x for x in numbers if x >= 0]}')

2020/11/30 16:21

최병찬

lis = [-1, 1, 3, -2, 2]
lis1 = []
lis2 = []
for a in lis:
    if a < 0:
        lis1.append(a)
    else:
        lis2.append(a)
print(lis1 + lis2)

2020/12/06 19:31

Junghan Shin

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class pro5 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int [] test = {-1,1,3,-2,2};
        List<Integer> re = new ArrayList<Integer>();
        /*
        for(int i=0; i<test.length; i++)
            if(test[i]<0)
                re.add(test[i]);

        for(int i=0; i<test.length; i++)
            if(test[i]>0)
                re.add(test[i]);

        System.out.println(re);
        */
        int a=1;
        while(a<3){
            for(int i = 0; i<test.length; i++){
                switch(a){
                    case 1: if(test[i]<0) re.add(test[i]);
                    break;

                    case 2: if(test[i]>0) re.add(test[i]);
                    break;                  
                }
            }
            a++;
        }
        System.out.println(re);

    }

}

2020/12/08 17:02

이정섭

a = [-1, 1, 3, -2, 2, -5, 7, -4, 8]

count_neg = 0
for i in range(0, len(a)):
    if a[i] < 0:
        a.insert(count_neg, a[i])
        del a[i+1]
        count_neg += 1

print(a)

2020/12/14 11:25

코딩뚜

순서를 유지해야 하므로 리스트를 이용하여 분류한 뒤 재조합했습니당.

def special(*args):
    neg=[]
    pos=[]
    for i in args:
        if i > 0:
            pos.append(i)
        elif i < 0:
            neg.append(i)
        else:
            pass
    return neg+pos

2020/12/20 00:19

형제는못말려

data = [-1, 1, 3, -2, 2,]
[x for x in data if x <0]+[y for y in data if y>0]

2020/12/22 22:56

hankyu

user_input = [-1, 1, 3, -2, 2]
print(user_input)

positive = []
negative = []
for i in user_input:
    if i > 0:
        positive.append(i)
    else:
        negative.append(i)

result = negative + positive
print(result)

파이썬으로 작성했습니다.

입력된 리스트 각각의 요소값에 대해서 Positive List와 Negative List로 구분된 두 개의 리스트에 순차적으로 넣고 최종적으로 두개의 리스트를 합하는 알고리즘 입니다.

2020/12/23 20:45

임준혁

초보개발자 입니다 ㅜ


public class Test28 {

    public static void main(String[] args) {
        int[] arr = {-1, 1, 3, -2, 2};

        int temp;

        for(int i = 0; i < arr.length; i++) {
            if(arr[i] < 0) {
                System.out.print(arr[i] + ",");
            }
        }

        for(int i = 0; i< arr.length; i++) {
            if(arr[i] > 0) {
                System.out.print(arr[i] + ",");
            }
        }
    }

}

2020/12/30 23:05

유영국

Python Code

nums = [-1, 1, 3, -2, 2]

print(nums)

minusList =[]
plusList = []

for x in range(len(nums)):
    if nums[x] <0:
        minusList.append(nums[x])
    else:
        plusList.append(nums[x])

newList = minusList + plusList
print(newList)

2021/01/06 12:57

DPark

def sort(*num):
    negative,positive=[],[]
    for a in num:
        if a<0:
            negative.append(a)
        elif a>0:
            positive.append(a)
    return negative+positive

a=sort(1,-1,2,3,4,-2)
print(a)

2021/01/09 21:24

dong hoon

python 3.8.7 기준입니다.

>>> input_list = [5356, -56575, 789094, 35667, -5778427, 1249]
>>> positive = []
>>> negative = []
>>> output_list = []
>>> for i in input_list:
...     if i > 0:
...         positive.append(i)
...     else:
...         negative.append(i)
...
>>> output_list = negative + positive
>>> output_list
[-56575, -5778427, 5356, 789094, 35667, 1249]

0의 경우는 나와있지 않아 음수와 같은 리스트로 넣었습니다.

2021/01/14 12:40

이준우

Python 3.9.1

필터로 했는데 list comprehension 이 좀 더 깔끔한거 같네요.

a = [-1,1,3,-2,2]
print(list(filter(lambda n:n < 0, a)) + list(filter(lambda n:n >= 0, a)))

2021/01/14 14:13

devlop

a_txt = '-1 1 3 -2 2'
a_list = map(int,a_txt.split(' '))
b, c = [], []

for a in a_list:
    if a <=0:
        b.append(a)
    else:
        c.append(a)

output = b + c

print(output)

2021/01/15 13:08

asdfa

list = [-1, 1, 3, -2, 2]

minus = []
zero = []
plus = []

for i in range(len(list)):
    if list[i] < 0:
        minus.append(list[i])
    elif list[i] == 0:
        zero.append(list[i])
    else:
        plus.append(list[i])

print(minus + zero + plus)

2021/01/18 18:43

Jino

package com.hkh;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class SpecialSort {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        List<Integer> numbersToInt = new ArrayList<>();
        List<Integer> negativeNumbers = new ArrayList<>();
        List<Integer> positiveNumbers = new ArrayList<>();

        String[] numbers = s.nextLine().split(" ");

        for (String number : numbers) {
            numbersToInt.add(Integer.parseInt(number));
        }

        for (Integer number : numbersToInt) {
            if (number < 0) {
                negativeNumbers.add(number);
            } else {
                positiveNumbers.add(number);
            }
        }
        for (Integer number : negativeNumbers) {
            System.out.print(number + " ");
        }
        for (Integer number : positiveNumbers) {
            System.out.print(number + " ");
        }
    }
}

2021/01/19 00:35

GyuHo Han

/* n개의 정수를 가진 배열이 있다. 이 배열은 양의정수와 음의 정수를 모두 가지고 있다. 이제 당신은 이 배열을 좀 특별한 방법으로 정렬해야 한다.

정렬이 되고 난 후, 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다. 또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다. */

const solution = (array) => {
  const negative = []
  const positive = []

  array.map((v) => (v < 0 ? negative.push(v) : positive.push(v)))

  return [...negative, ...positive]
}

console.log(solution([-1, 1, 3, -2, 2]))

2021/01/22 15:39

ZE

def special_sort(*data):
    q = []
    w = []
    for i in data:
         if i<0:
             q.append(i)

         else:
             w.append(i)
print(q+w)


special_sort(-1,1,3,-2,2)

1차원적으로 풀었습니다 근데 0이 들어가도 이 코드는 성립되지않나요?

2021/01/22 22:19

fox.j

L=[-4,1,-2,5,-6,-4,1,-2,3]
A=[]
for i in range(0,len(L)):
    if L[i]<0:
        A.append(L[i])
    else :
        pass

B=[]
for n in L:
    if n not in A:
        B.append(n)

print(A+B)

2021/01/23 15:49

rell L

import java.util.Arrays;

public class CodingTest {

    public static void main(String[] args) {

        int[] nums = {-1,1,3,-2,2};
        int stopIndex = 0;

        while(true) {
            int[] buffer = nums.clone();
            for (int i = nums.length-1;i > stopIndex; i--) {
                if ((nums[i]<0)&&(nums[i-1]>0)) {
                    int tmp = nums[i];
                    nums[i] = nums[i-1];
                    nums[i-1] = tmp;
                }
            }

            if(Arrays.equals(nums,buffer))
                break;
        }

        for(int j = 0; j < nums.length; j++)
            System.out.print(nums[j]+" ");

    }
}

2021/01/28 00:03

김용현

파이썬 list comprehension

num = [-1, 1, 3, -2, 2]

print([i for i in num if i < 0]+[i for i in num if i == 0]+[i for i in num if i > 0])

2021/01/31 17:44

Ha

import re
a = [-3, 1, 2, -7, 5, -9]
b = []
index = 0
for i in a:
    if re.findall('^-',str(i)):
        b.insert(index,i)
        index += 1
    else:
        b.append(i)

print(b)

2021/01/31 22:42

개촙오

[파이썬]

numbers = [-1, 1, 3, -2, 2]
plusNums = []
minusNums = []

#  양의 정수, 음의 정수 각각 다른 리스트에 저장
for i in numbers: 
    if i > 0:
        plusNums += [i]
    elif i < 0:
        minusNums += [i]

#  음의 정수, 양의 정수 순으로 더함
result = minusNums + plusNums

print(result)

2021/02/02 17:22

PenLoo

A = [-1,1,3,-2,2]
B = []
for i in A:
    if i < 0:
        B.append(i)

    if i > 0:
        B.append(i)

print(B)

2021/02/05 14:22

서해원

data = [-1, 1, 3, -2, 2] a = [] b = []

for i in data: if i < 0: a.append(i) else: b.append(i)

print(a + b)

2021/02/11 16:56

pathworker

list = [3, -1, -5, 2, 1, -4]
a, b = [], []

for i in list:
    if i < 0:
        a.append(i)
    else:
        b.append(i)
print(a+b)

2021/02/18 16:41

원유준

a = [-1, 1, 3, -2, 2]
minus = []
plus = []

for n in a:
    if n < 0:
        minus.append(n)
    elif n > 0:
        plus.append(n)

result = minus + plus
print(result)

2021/02/19 03:49

sdfsdf

x=input('정수입력')

lst=x.split(' ')

def special_sort(lst):
    yang=[]
    result=[]
    for i in lst:
        if int(i) < 0:
            result.append(i)
        if int(i) > 0:
            yang.append(i)
    for y in yang:
        result.append(y)
    return ' '.join(result)

print(special_sort(lst))


어찌저찌 풀기는 했는데... 다른 분들 풀이를 보니 저는 뱅뱅 돌아가서 푼 것 같네요. 코딩의 길은 정말 멀고도 험합니다ㅠㅠ

2021/02/20 22:10

최우진

def special_sorted(*nums):
    neg = [str(num) for num in nums if int(num)<0]
    pos = [str(num) for num in nums if int(num)>0]
    neg.extend(pos)
    return ','.join(neg)

<파이썬 3>

2021/04/04 10:23

Ruo Lee

nums = [-1, 1, 3, -2, 2]
print(list(filter(lambda x: x<0, nums)) + list(filter(lambda x: x>0, nums)))

<파이썬 3>

2021/04/06 23:12

Ruo Lee

Python입니다.

>>> n = [-1, 1, 3, -2, 2]
>>> neg = []
>>> pos = []
>>> for x in n:
...     if x < 0:
...         neg.append(x)
...     else:
...         pos.append(x)
...
>>> ans = neg + pos
>>> ans
[-1, -2, 1, 3, 2]

2021/04/11 04:38

최용

#include <stdio.h>
#include <stdlib.h>

int main() {
    int arr[] = { 8, -1, -6, 1, -2, -3, 4 };
#define K sizeof(arr)/sizeof(int)
    int* result = malloc(K * sizeof(int));
    int i, j = 0;

    for (i = 0; i < K; i++) {
        if (arr[i] < 0) {
            result[j] = arr[i];
            j++;
        }
    }
    for (i = 0; i < K; i++) {
        if (arr[i] > 0) {
            result[j] = arr[i];
            j++;
        }
    }

    for (i = 0; i < K; i++) {
        printf("%d ", result[i]);
    }
    free(result);
    return 0;
}

C언어로 작성했습니다

2021/04/12 19:28

argo

list1 = [-1, 1, 3, -2, 2]
print(list(filter(lambda x: x < 0, list1)) + list(filter(lambda x: x >= 0, list1)))

2021/04/13 12:28

와장창

def minus_left(m):
    shifted = False
    for i, n in enumerate(m):
        if i != 0:
            if n < 0:
                if m[i -1] > 0:
                    # 빼서 왼쪽으로 이동
                    mv = m.pop(i)
                    m.insert(i -1, mv)
                    shifted = True
    return (shifted, m)

run = True
while run:
    (run, numbers) = minus_left(numbers)

print(numbers)

2021/04/15 09:09

임동열

userNumber = input("n개의 정수를 입력해주세요.")
numbers = userNumber.split(" ")
newList = list()

plusIndex = 0
minusIndex = 0

for number in numbers:
    if(int(number)<0):
        newList.insert(minusIndex, int(number))
        plusIndex += 1
        minusIndex += 1
    elif(int(number)>0):
        newList.insert(plusIndex, int(number))
        plusIndex += 1

print(newList)

파이썬 3.9입니다. 다른분들과 풀이가 달라서 당황스럽네요. 제 풀이가 맞는지 잘 모르겠습니다. 혹시라도 잘못된 부분이 있다면 댓글 부탁드립니다.

2021/04/24 22:26

김현우

import random

N = [random.randrange(-10, 10) for i in range(10)]

for i in range(len(N)):
    for j in range(len(N)):
        if N[j] > 0 and N[j+1] < 0:
            N[j], N[j+1] = N[j+1], N[j]
print(N)

2021/04/28 17:04

bravesong

public class SpecialSort {
    public static void main(String[] args) {
        int[] list = {-1,1,-3,3,-2,2,4,0 ,0};
        int len = list.length;
        for (int i=0; i<len; i++) {
            if (list[i] < 0) { 
                System.out.print(list[i] + " ");
            }
        }
        for (int k=0; k<len; k++) {
            if (list[k] >= 0) {
                System.out.print(list[k] + " ");
            }
        }
    }
}

2021/04/30 11:55

karl

def ans(n): return str([i for i in n if i<0]) + str([i for i in n if i>0])

n = [-1, 1, 3, -2, 2] print(ans(n))

2021/05/07 15:41

ss2663

public class SpecialSort {

    public static void main(String[] args) {
        int[] s = {-4, 2, 3, -3, -9, 1, 5, -10, 9};
        int[] result = new int[s.length];
        int indexArray = 0;

        for(int i = 0; i < s.length;i++) {
            if (s[i] < 0) {
                result[indexArray] = s[i];
                indexArray++;
            }
        }
        for(int i = 0; i < s.length;i++) {
            if (s[i] > 0) {
                result[indexArray] = s[i];
                indexArray++;
            }
        }

        for(int i = 0; i < result.length; i++) {
            System.out.print(result[i] + " ");
        }
    }

}

2021/05/07 19:38

elitekid


nList = [-1, 1, 3, -2, 2]
minusList = []
plusList = []

for n in nList :
    if n < 0 :
        minusList.append(n)
    else :
        plusList.append(n)

print (minusList + plusList)

2021/05/16 22:46

Julisys

a=input('n개의 정수 입력 : ').split(' ')
a=list(a)
for i in range(0,len(a)) :
    a[i]=int(a[i])

b=[]
c=[]
for i in range(0,len(a)) :
    if a[i]<0 :
        b+=[a[i]]
    else :
        c+=[a[i]]
print(b+c)

2021/05/29 23:17

김도군

listInteger = [-1, 1, 3, -2, 2]
listNegative = []
listPositive = []

for i in listInteger:
    if i < 0 :
       listNegative.append(i)
    else:
        listPositive.append(i)

listInteger = []    
listInteger.extend(listNegative)
listInteger.extend(listPositive)

print(listInteger)

2021/06/04 10:48

DongKyu Lee

nFibonacciNum = input("Fibonccci number?")
nFibonacciNum = int(nFibonacciNum)

listFibonacci = [0,1]
nIndex = 0

while(True):
    listFibonacci.append (listFibonacci[nIndex] + listFibonacci[nIndex+1])
    nIndex +=1
    if nIndex > nFibonacciNum:
        break

print("피보나찌 수열",listFibonacci)

2021/06/04 11:46

DongKyu Lee

x = [1, -1, -3, 2, 3, 4, -2, 0]
y,z = [],[]

for a in x:
  if a > -1:
    z.append(a)
  else:
    y.append(a)

print(y+z)

2021/06/07 19:46

jaesik

num = [-1, 1, 3, -2, 2]

min = []
plus = []

for i in num :
    if i > 0 :
        plus.append(i)
    elif i < 0 :
        min.append(i)

list = min + plus

print(list)

2021/06/08 19:59

최벽문

def special_sort(list):
    n, p = [], []
    for val in list:
        if val < 0:
            n.append(val)
        elif val >= 0:
            p.append(val)
    return(n + p)            

print(special_sort([-1, 1, 3, -2, 2]))

2021/06/19 23:33

darlim

# n개의 정수를 가진 배열이 있다. 이 배열은 양의정수와 음의 정수를 모두 가지고 있다. 이제 당신은 이 배열을 좀 특별한 방법으로 정렬해야 한다.
# 정렬이 되고 난 후, 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다. 또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다. tuple
# 양의 정수, 음의 정수 따로 뽑기
# 양의 정수 및 음의 정수 무작위 정렬

from random import *
def make_list():
    list = [] # 양의 정수 또는 음의 정수를 n개의 가진 배열이라 가정 0은 양의 정수 또는 음의 정수에 포함 되지 않으므로 제외
    minus_list = []
    plus_list = []

    for i in list: #음양 정수 각자 분리
        if i > 0:
            minu_list.append(i)
        elif i < 0:
            plus_list.append(i)
        else:
            pass

    m1 = minus_list
    p1 = plus_list

    m2 = sample(minus_list, len(minus_list)) # 음양 정수 무작위 정렬
    p2 = sample(plus_list, len(plus_list))

    m2.extend(p2) # 음양 정수 리스트 합치기

    return tuple(m2) # 결과값

2021/06/22 21:34

inkuk ju

list = [-2, 1, 3, -1, 2]

def list_sort(list):
    list_1 = []
    list_2 = []
    for i in list:
        if i < 0:
            list_1.append(i)
        else:
            list_2.append(i)
    result = list_1 + list_2
    return result

print(list_sort(list))

2021/07/01 15:40

김준규

dataList = [-2, 45, 13, 64, 1 , 2,-4,-99] # 이건 예시
def specialSort(dataList):
    mi = list() ; pl = list()
    for i in dataList :
        pl.append(i) if i > 0 else mi.append(i)
    return mi + pl

2021/07/04 18:09

이원희

a = input("음수 or 정수 입력 : ") b = a.split(",")

c = [] d = []

for i in b: i = int(i) if i > 0 : c.append(i) else : d.append(i)

print(d+c)

2021/07/06 22:39

Youngchul Kwon

#codingdojing_special sort

array = '-1 1 3 -2 2'
#아예 새로운 리스트를 만들어서 음수따로 양수따로, 그리고 이어붙이자

arrayList = array.split()

minusArray = []
plusArray = []

for num in arrayList:
    if int(num) < 0:
        minusArray.append(num)
    else:
        plusArray.append(num)

newArr = minusArray + plusArray

for i in newArr:
    print(i, end = ' ')

## 다른 방식

def specialSort(arrayStr):
    arrayList = arrayStr.split()

    print( [x for x in arrayList if int(x) < 0] + [x for x in arrayList if int(x) >= 0])

## in-place?

def specialSort2(arrayStr):
    arrayList = arrayStr.split()

    for j in range(len(arrayList)-1):
        for i in range(len(arrayList)-1):
            if (int(arrayList[i]) >= 0) & (int(arrayList[i+1]) <0):
                arrayList[i], arrayList[i+1] = arrayList[i+1], arrayList[i]

    print(arrayList)

arrayStr = '2 -1 2 1 -5 -5 -6 2 -6 3 -2 2'

specialSort(arrayStr)
specialSort2(arrayStr)

2021/07/07 17:54

Jaeman Lee

a = [-1,1,3,-2,2]
m,p =[],[]
for i in a:
    if i<0:
        m.append(i)
    else :
        p.append(i)
result = m + p

print(result)

2021/07/14 19:34

유상완

nlist = [-1, 1, 3, -2, 2]
mlist = []
for i in nlist:
    if i < 0:
        mlist.append(i)
for i in nlist:
    if i > 0:
        mlist.append(i)

print(mlist)

찐초보

2021/07/17 12:46

Annoymouse

import random
randomlist = []
for i in range(5):
    n = random.randint(-10,10)
    print(n)
    if n!=0:
        randomlist.append(n)

print(randomlist)
negative = list(filter(lambda n : n<0, randomlist))
positive = list(filter(lambda n : n>0, randomlist))
print(negative + positive)

2021/07/19 10:40

‍이성동[ 학부휴학 / 산업경영공학부 ]

def do_it(number): result = [x for x in number if x < 0] result1 = [x for x in number if x > 0] result2 = result + result1 return result2 print (do_it([-1, 1, 3, -2, 2]))

2021/07/22 18:23

서현준

import UIKit

let inputArr = [-1, 1, 3, -2, 2]

func solution(_ input: [Int]) -> [Int] {

    // 프로퍼티 생성
    let inputArr = input   // 입력값
    var minusArr = [Int]() // 음의 정수
    var plusArr = [Int]()  // 양의 정수
    var resultArr = [Int]()// 결과값

    // 양수와 음수를 분리하여 저장한다.
    inputArr.forEach {     
        if ($0 > 0) { plusArr.append($0) } 
        else        { minusArr.append($0) }
    }

    // 음수 -> 양수 순서대로 저장한다. 
    minusArr.forEach { resultArr.append($0) }
    plusArr.forEach { resultArr.append($0) }
    print("DEBUG>> \(resultArr) ")
    return resultArr
}

solution(inputArr)

2021/08/01 23:15

Uno

public class CodingDojang_414 {

    public static void getFor(ArrayList<Integer> arr) {
        for(int i=0;i<arr.size();i++){
            int data = arr.get(i);
            System.out.print(data + " ");
        }
    }

    public static void main(String[] args) {
        int[] num = {-1,1,3,-2,2};
        ArrayList<Integer> positive = new ArrayList<Integer>();
        ArrayList<Integer> negative = new ArrayList<Integer>();

        for(int i=0;i<num.length;i++){
            int data = num[i];
            System.out.print(data + " ");

            if(data > 0){
                positive.add(data);
            }else {
                negative.add(data);
            }
        }
        System.out.println();
        getFor(negative);
        getFor(positive);       
    }
}

2021/08/03 16:45

tm k

data=[-1,1,3,-2,2] 
data1=[]

for i in range(len(data)):
    if data[i]<0:
        data1.append(data[i])

for i in range(len(data)):
    if data[i]>0:
        data1.append(data[i])

print(data1)

2021/08/07 23:57

ss

num = [-1, 1, 3, -2, 2]
num2, num3 = [], []
for num1 in num:
    if num1 <= 0:
        num2.append(num1)
    else:
        num3.append(num1)
result = num2+ num3
print("예.",*num,"ans:",*result,end='.')

2021/08/08 23:08

한바울

def Sort(a):
    L1 = []
    L2 = []
    for i in a:
        if i < 0:
            L1.append(i)
        else:
            L2.append(i)
    return L1+L2

2021/08/08 23:24

Percy

package exam;

public class Ex01 {

    public static void main(String[] args) {

        // 임의의 배열
        int [] arr = {-1, 1, 3, -2, 2};
        // 버블 정렬을 이용함
        for (int i =0; i <arr.length-1; i++ ) {

            for (int j = 0; j< arr.length -1 -i; j++) {
                // 앞의 인덱스가 정수고 뒤에 인덱스가 음수 일 경우 정렬한다
                if(arr[j] > 0 && arr[j+1] <0) {
                    int tmp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = tmp;
                }
            }
        }
        // for-each문으로 출력
        for(int tmp : arr) {
            System.out.printf("%d ",tmp);
        }

    }

}

2021/08/12 21:42

전채

num_list = [-1, 1, 3, -2, 2]
pog = []
neg = []

for i in num_list:
    if i >= 0:
        pog.append(i)
    elif i <= 0:
        neg.append(i)
    else:
        pass

print(neg + pog)

2021/08/23 15:06

Beom Yeol Lim

n = input("").split(" ") 
for i in ([x for x in n if int(x) < 0] + [x for x in n if int(x) > 0]):
    print(i,end=" ")

2021/08/24 16:35

//python

arr = [-1, 1, 3, -2, 2]

narr = []
parr = []

for idx in range(len(arr)):
  if arr[idx] < 0:
    narr.append(arr[idx])

  else:
    parr.append(arr[idx])

print(narr + parr)

2021/08/25 12:24

Charles

ex = [-1,1,3,-2,2]
list1 = []
list2 = []
for i in ex:
    if i < 0:
        list1.append(i)
    else:
        list2.append(i)
print(list1 + list2)

2021/09/05 17:59

hsfoto

def arrange(x):
    A=x.split()
    minus=[]
    plus=[]
    for i in A:
        if int(i)<0:
            minus.append(i)
        else:
            plus.append(i)
    result = minus+plus
    S=' '.join(result)
    print(S)

2021/09/05 19:33

trim39r

ess = [-1,1,3,-2,2]

a = []
b = []
for i in ess:
    if i < 0:
        a.append(i)
    else:
        b.append(i)

print(a + b)

2021/09/15 22:28

hyung2435

num = [-1,1,-3,0,3,-2,2,4] num_minus, num_zero, num_plus = [], [], []

for i in num: if i < 0: num_minus.append(i) if i > 0: num_plus.append(i) if i == 0: num_zero.append(i)

num_res = sorted(num_minus) + sorted(num_zero) + sorted(num_plus) print(num_res)

2021/09/16 15:10

Sam Sung

sample = [-1, 1, 3, -2, 2]
positive = []
negative = []

for i in sample:
    if i >=0:
        positive.append(i)
    else:
        negative.append(i)
answer = negative + positive
print(answer)

2021/09/30 14:50

송효근

void main()
{   
    int NumArr[] = { -1,1,3,-2,2 };
    list<int> minus;
    list<int> plus;

    for(int i=0;i<sizeof(NumArr) / sizeof(NumArr[0]);i++)
    {
        if (NumArr[i] < 0)
        {
            minus.push_back(NumArr[i]);
        }
        else
        {
            plus.push_back(NumArr[i]);
        }
    }
    minus.sort();
    minus.splice(minus.end()--, plus);
}

2021/10/07 14:37

aozora18

def sort(l):
    return list(filter(lambda x: x<0,l))+list(filter(lambda x: x>0,l))
print(sort([-1, 1, 3, -2, 2]))

2021/10/11 19:52

LSW

list1 = [-1, 1, 3, -2, 2]
print([i for i in list1 if i < 0] + [i for i in list1 if i > 0])

2021/10/18 13:08

Jinsol

public static void main(String[] args) {
        int[] num = { -1, 1, 3, -2, 2 };
        int[] num2 = new int[num.length];
        int y= 0;

        for (int i = 0; i < num.length; i++) {
            if (num[i] < 0) {
                num2[y] = num[i];
                ++y;
            }
        }
        for (int i = 0; i < num.length; i++) {
            if (num[i] >= 0) {
                num2[y] = num[i];
                ++y;
            }
        }
        System.out.println(Arrays.toString(num2));

    }

2021/10/23 22:08

박대현

list = [-1, 1, 3, -2, 2, 0]
def sort_list(list):
    return [x for x in list if x <= 0] + [x for x in list if x > 0]
print(sort_list(list))     # [-1, -2, 0, 1, 3, 2]

2021/11/16 19:18

갈매기형님

var num = new Array(-1, 1, 3, -2, 2);

var minus = new Array();
var plus  = new Array();

for(var i = 0; i < num.length; i++) {
    if(num[i] < 0) {
        minus.push(num[i]);
    } else {
        plus.push(num[i]);
    }
}

console.log(minus + "," + plus);

2021/11/18 15:09

KHH Coder

var arrays = [-1, 1, 3, -2, 2];
var negative = [];
var dual = [];
var result = [];

for(i=0;i<arrays.length;i++) {
    if(arrays[i] < 0) {
        negative.push(arrays[i])
    } else {
        dual.push(arrays[i])
    }
}

console.log(negative + "," + dual);
---------------------------------------------------------------
var arrays = [-1, 1, 3, -2, 2];
var result = [];

for(i=0;i<arrays.length;i++) {
    if(arrays[i] < 0) result.push(arrays[i])
}
for(i=0;i<arrays.length;i++) {
    if(arrays[i] >= 0) result.push(arrays[i])
}

console.log(result);

2021/11/23 13:39

유정효

x = [-1,1,3,-2,2]
y = []
z = []

for i in range(len(x)):
    if x[i] > 0:
        y.append(x[i])
    elif x[i] < 0:
        z.append(x[i])

print(y+z)

2021/11/23 15:15

이창현

a= [-1,1,3,-2,2]
b= []

for i in range(len(a)) :
    if a[i] <0 :
        b.append(a[i])

for i in range(len(a)) :
    if a[i] >0 :
        b.append(a[i])

print(b)

2021/12/15 10:58

양캠부부

ex = [-1, 1, 3, -2, 2]
a = []
b = []
for i in ex:
    if i < 0:
        a.append(i)
    elif i > 0:
        b.append(i)
result = a + b
print(result)

2021/12/15 13:59

김대연

a = [-1,1,3,-2,2]

def special_sort(a_list,a_index=0):
    if a_list[a_index] >= 0 and a_list[a_index+1] < 0 :
        for i in range(a_index,0,-1):
            if a_list[i] >= 0 and a_list[i+1] < 0 :
                a_list[i],a_list[i+1] = a_list[i+1],a_list[i]

    if a_index == len(a_list)-2 : return a_list
    else : return special_sort(a_list,a_index+1)



print( special_sort(a) )            

2022/01/07 16:50

강태호

def specialSortedArr(arr):
    minusArr = []
    plusArr = []
    for num in arr:
        minusArr.append(num) if num < 0 else plusArr.append(num)
    return minusArr + plusArr


dummy = [-1, 1, 3, -2, 2]
print(specialSortedArr(dummy))

2022/01/09 12:51

정이언

list_a = '-1 1 3 -2 2'
b = list_a.split(' ')

sort_a = []
for i in b:
    if int(i) < 0:
        sort_a.append(i)

for i in b:
    if int(i) > 0:
        sort_a.append(i)

print(' '.join(sort_a))

2022/01/18 15:44

로만가

//invalidation error에 대한 문제인가요?

//Rust

fn main() { let arr = [-1, 1, 3, -2, 2]; let mut vec1 = vec![]; let mut vec2 = vec![];

for n in arr {
    if n < 0 {
        vec1.push(n);
    } else {
        vec2.push(n);
    }
}

vec1.extend(vec2);      //vec2 is no longer available
println!("{:?}", vec1);

}

2022/01/25 20:02

JW KIM

num= [-1,2,3,-5,7,-9,11]
a=[]
b=[]
for i in num:
    if i > 0 :
        a.append(i)
    elif i < 0 :
        b.append(i)
print(a)
print(b)
print(b+a)

2022/01/30 15:51

흐음맨

import random
a = [random.randrange(-10,10) for i in range(10)]
print (a)

#정렬
a_positive=[]
a_negative=[]
for i in a:
    if i < 0:
        a_negative += [i]
    else: 
        a_positive += [i]

a_new = a_negative + a_positive
print(a_new)

2022/02/03 10:50

엄태용

a = [1, -2, 3, -4, 5, -5, 4, -3, 2, -1]

minus=[i for i in a if i<0]
plus=[i for i in a if i>=0]

a=minus+plus
print(a)

2022/02/04 14:42

qkrthals

list = [3, 2, 7, 4, 5, -5, -4, -3, -2, -1]
list_1 = []
list_2 = []
list = [int (i) for i in list]
for q in list:
    if q > 0:
        list_1.append(q)
        list_1.sort()
    else:
        list_2.append(q)
        list_2.sort()
print(list_1+list_2)

큰 순서대로 정렬해봤습니다 짧게는 못만들겠네요ㅕ,,

2022/02/22 22:10

박수훈

integers = [-1, 1, 3, -2, 2]

positive_int, negative_int, zero = [], [], []

for num in integers:
    if num > 0:
        positive_int.append(num)
    elif num < 0:
        negative_int.append(num)
    else:
        zero.append(num)

print(negative_int + zero + positive_int)

2022/02/23 00:27

짬짜면

public class test {
    public static void main(String[] args) {
    int[] arr= {-1, 1, 3, -2, 2};
    ArrayList<Integer> plus = new ArrayList<Integer>();
    ArrayList<Integer> minus = new ArrayList<Integer>();
    for(int i=0; i<arr.length; i++) {
        if(arr[i]<0) {
        minus.add(arr[i]);
        }
        if(arr[i]>0) {
        plus.add(arr[i]);
        }
    }
    for(int i=0; i<minus.size(); i++) {
        System.out.print(minus.get(i) + " ");
    }
    for(int i=0; i<plus.size(); i++) {
        System.out.print(plus.get(i) + " ");
    }
    }   
}

2022/02/24 16:31

Kkubuck

int=[-1,-5,2,3,-4,4,0]
int_2=[]
for i in int:
    if i<0:
        int_2.append(i)
    else:
        pass

for i in int:
    if i==0:
        int_2.append(i)
    else:
        pass

for i in int:
    if i>0:
        int_2.append(i)
    else:
        pass

print(int_2)

2022/03/02 23:40

코딩초보박영규

using System;

public class Program
{
    public static void Main(String[] args)
    {
        int[] num = new int[] {-4,6,-5,-7,2,7,-1,3};

        foreach(int n in num){
            if(n>0) continue;
            Console.WriteLine(n);
        }
        foreach(int n in num){
            if(n<0) continue;
            Console.WriteLine(n);
        }
    }
}

C#

2022/03/07 22:44

rah_9


def special_sort(mat):
    mat_ex = mat[:]
    fixed = [mat_ex.pop(mat_ex.index(i)) for i in mat if i >= 0]
    print(mat_ex + fixed)

mat = [-1, 1, 3, -2, 2]
special_sort(mat)

2022/03/08 16:07

고양이

##1번 방법
quiz = [-1, 1, 3, -2, 2]
ans = [] # 답 리스트
ans_p = [] # 양수 리스트
ans_m = [] # 음수 리스트
for i in quiz:
    if i < 0:
        ans_m.append(i)
    else:
        ans_p.append(i)
ans = ans_m + ans_p
print(ans)


## 2번 방법
quiz = [-1, 1, 3, -2, 2]
ans_m = [i for i in quiz if i <0]
ans_p = [i for i in quiz if i >0]
ans = ans_m + ans_p
print(ans)

코린이라 쉬운방법이지만 좀 지저분하게 푼거같네요 ㅋㅋ + 한 줄 쓰기로 해보니까 좀 더 간결해졌습니다!ㅋㅋ

2022/03/13 18:04

kh ahn

sort_list = [-1, 1, 0, 3, -2, 2]
sort_list = list(map(int,sort_list))
minus_list = []
plus_list = []
zero_list =[]
for i in sort_list:
    if i < 0:
        minus_list.append(i)
    elif i > 0:
        plus_list.append(i)
    else:
        zero_list.append(i)

print(minus_list+zero_list+plus_list)
def new_sort(inputlist):
    return [x for x in inputlist if x < 0] + [x for x in inputlist if x == 0] + [x for x in inputlist if x >= 0]

print (new_sort([-1, 1, 0, 3, -2, 2]))

2022/03/29 13:08

seolgyung jeong

# n개의 정수를 가진 배열이 있다. 이 배열은 양의정수와 음의 정수를 모두 가지고 있다.
# 이제 당신은 이 배열을 좀 특별한 방법으로 정렬해야 한다.

# 정렬이 되고 난 후, 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다.
# 또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다.

# 예. -1 1 3 -2 2 ans: -1 -2 1 3 2.

list_inputs = list(map(int, input('공백으로 구분된 정수 리스트를 입력하세요: ').split()))
list_minus = []
list_zero = []
list_plus = []

for i in list_inputs:
    if i < 0:
        list_minus.append(i)
    elif i > 0:
        list_plus.append(i)
    elif i == 0:
        list_zero.append(i)

list_ans = list_minus + list_zero + list_plus

print([x for x in list_ans])

2022/04/05 21:07

소망꿀

b=[-1, 1, 3, -2, 2]
a=[]
for j in range(len(b)):
    if b[j]<0:
        a.append(b[j])
for k in range(len(a)):
    b.remove(a[k])
print(a+b)

2022/04/08 09:10

thank

s=[-1,1,3,-2,2] li=[] li1=[] for i in s: if i<0: li.append(i) else: li1.append(i) for i in li: print(i,end=" ") for i in li1: print(i,end=" ")

2022/04/13 12:24

yunjae

a = [-1, -2, 6, 7, -3, 0, 5,]

b = [x for x in a if x < 0]

c = [x for x in a if x > 0]

d = [x for x in a if x == 0]

print(c+b)

2022/04/26 05:50

Jack Maker

package com.algorithm.algorithmpractice.dojang;

import java.util.ArrayList;
import java.util.List;

public class SpecialSort {
    public static void main(String[] args) {
        int[] originArr = {-1, 1, 3, -2, 2};
        List<Integer> minusList = new ArrayList<>();
        List<Integer> plushList = new ArrayList<>();


        for (int i = 0; i < originArr.length; i++){
            if(originArr[i] > 0){
                plushList.add(originArr[i]);
                continue;
            }
            minusList.add(originArr[i]);
        }
        List<Integer> resultArr = new ArrayList<>();

        minusList.forEach(number -> {
            resultArr.add(number);
        });
        plushList.forEach(number -> {
            resultArr.add(number);
        });
        System.out.println(resultArr);
    }
}

2022/04/27 07:03

inkuk ju

a='-1 1 3 -2 2'.split(" ")
li=[]
lis=[]
for i in a:
    if int(i)<0:
        li.append(i)
    else:
        lis.append(i)
for i in li+lis:
    print(i,end=" ")

2022/05/08 19:31

yunjae

JAVA 입니다.

public static void main(String[] args) {

        String[] nums = { "-1", "1", "3", "-2", "2" };

        ArrayList<String> intNegative = new ArrayList<String>();
        ArrayList<String> intZero = new ArrayList<String>();
        ArrayList<String> intPositive = new ArrayList<String>();

        for (int i = 0; i < nums.length; i++) {
            if (nums[i].contains("-")) {
                intNegative.add(nums[i]);
            } else if (nums[i].equals("0")) {
                intZero.add(nums[i]);
            } else {
                intPositive.add(nums[i]);
            } // if

        } // for_i

        for (int i = 0; i < intNegative.size(); i++) {
            System.out.print(intNegative.get(i) + " ");
        } // for_i
        for (int i = 0; i < intZero.size(); i++) {
            System.out.print(intZero.get(i) + " ");
        } // for_i
        for (int i = 0; i < intPositive.size(); i++) {
            System.out.print(intPositive.get(i) + " ");
        } // for_i

    } // main

2022/05/20 16:39

김태형

자바로 풀어봤습니다.

import java.util.Scanner;
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        ArrayList<Integer> numbers = new ArrayList<>();
        ArrayList<Integer> sortedNumbers = new ArrayList<>();
        String inputData;

        while(true) {
            System.out.println("정수 입력해주세요.(입력을 그만하고 싶으면 !을 입력해주세요.):");
            inputData = scan.nextLine();

            if(inputData.equals("!")) {
                break;
            }else {
                numbers.add(Integer.parseInt(inputData));
            }
        }

        System.out.println("Before sorting : "+numbers+"\n");

        for(int i=0; i<numbers.size(); i++) {
            if(numbers.get(i) < 0) {
                sortedNumbers.add(numbers.get(i));
                numbers.remove(numbers.get(i));
            }
        }

        sortedNumbers.addAll(numbers);

        System.out.println("After sorting : "+sortedNumbers);

    }
}

2022/06/05 20:48

유로

import numpy as np

a = np.array([-3,-4,-2,1,5,3])

def special_sort(x):
    down = np.sort(x[x<0])[::-1]
    up = np.sort(a[a>=0])
    result = np.concatenate([down,up])
    return result

print('ans:',special_sort(a))

2022/06/17 15:12

준희

lista = [-1, 1, 3, -2, 2]

if lista[len(lista)-1] < 0:
    last=False
else:
    last=True

i=0
while i < len(lista):
    cnt=0
    if lista[i] >= 0:
        lista.append(lista[i])
        lista.pop(i)
    else:
        i+=1
    # 현재 인덱스보다 뒤에있는 값들이 전부 양수인지 확인
    for x in range(i, len(lista)):
        if lista[x] >= 0:
            cnt+=1
    # 전부 양수인 상황에서 배열 마지막값이 양수였다면 한번 더 뒤로 이동
    if cnt==len(lista)-i:
        if last==True:
            lista.append(lista[i])
            lista.pop(i)
        i=len(lista) # 반복문 종료를 위해 len(lista)넣어줌

print("정렬 후 : ", lista)

음수 양수 나눠서 더하는건 뻔해서 양수일 시 배열의 뒤로 이동하는 방식으로 진행하였습니다. 배열의 마지막 숫자가 양수인지 음수인지에 따라 한번 더 이동을 해줘야할지 다르기 때문에 조건을 추가하였습니다.

2022/06/23 13:23

김정욱

numbers = [-1, 1, 3, -2, 2]

a = [ i for i in numbers if i < 0 ]
b = [ i for i in numbers if i > 0 ]

a + b

파이썬입니다!

2022/07/03 16:11

류하경

numb = list(map(int, input().split()))
minus = []
plus = []
print(numb)
for i in numb:
    if i < 0:
        minus.append(i)
    elif i >= 0:
        plus.append(i)

print(minus + plus)

2022/07/04 08:50

우동훈

arr =[-1, 1, 3, -2, 2]
arr_N=[i for i in arr if i<0]
arr_P=[i for i in arr if i>0]
print(arr_N+arr_P)

2022/07/06 14:43

김보라

ui = input("n개의 정수 배열 입력(space로 구분)>> ").split()
ui = [ int(i) for i in ui ]
result = []
result.extend(filter(lambda i: i < 0, ui))
result.extend(filter(lambda i: i > 0, ui))
print(result)

2022/07/09 23:56

Estelle L

python

import numpy as np

my_array = np.array([-1,1,3,-2,2])
new_array = np.array([])

for x in my_array:
    if x < 0:
        new_array = np.append(new_array, x)

for x in my_array:
    if x not in new_array:
        new_array = np.append(new_array, x)

print(new_array)

2022/07/28 09:53

세라

# 28번 문제

nums = "-1 1 3 -2 2".split(" ")

num_minus = [i for i in nums if int(i)<0]  # 음수 리스트
num_plus  = [i for i in nums if int(i)>0]  # 양수 리스트

print(num_minus + num_plus)

2022/08/02 15:29

JYS

# 28번 문제

nums = "-1 1 3 -2 2".split(" ")

num_minus = [i for i in nums if int(i)<0]  # 음수 리스트
num_plus  = [i for i in nums if int(i)>0]  # 양수 리스트

print(num_minus + num_plus)

2022/08/02 16:24

JYS

public class SpecialSort {
    public Integer[] solve(int[] params) {
        return this.solveArray(params);
    }

    // === private ===
    private Integer[] solveArray(int[] params) {
        List<Integer> plusList = new ArrayList<>();
        List<Integer> minusList = new ArrayList<>();
        for (int num : params) {
            if (num < 0) {
                minusList.add(num);
            } else if (0 < num) {
                plusList.add(num);
            }
        }
        minusList.addAll(plusList);
        return minusList.toArray(Integer[]::new);
    }
}

2022/08/16 15:08

정이언

# Codingdojang 24
a=input("원하는 음수 or 양수를 입력하세요(띄어쓰기로 구분):")
a=a.split()
a_int=[int(i) for i in a]
a_len=len(a_int)
nega=[]
posit=[]
for i in range(a_len):
    if a_int[i]<0:
        nega.append(a_int[i])
    elif a_int[i]>0:
        posit.append(a_int[i])
result=nega+posit
print(result)

2022/08/22 22:47

나무늘보

  int arr[] = {-1,1,3,-2,2};
  int index = 0;

    for (index;index<5;index++) {
        if (arr[index]<0) {
            continue;
        } else {
            int temp;
            int temp_num;
            temp = index +1;
            for(temp;temp<5;temp++) {
                if(arr[temp]<0) {
                    temp_num = arr[temp];
                    for (temp;temp>index;temp--) {
                        arr[temp]=arr[temp-1];                                             
                    } arr[index] = temp_num;               
                }
            }

        }

    }

2022/08/23 19:11

YoungJun Woo

arr=[-1,1,0,7,-111,1,3,-2,2,-5,-7]

pos=[]
neg=[]
for x in arr:
    if x<0:
        neg.append(x)
    elif x>0:
        pos.append(x)
    else:
        pos.insert(0,x)
result=neg+pos
print(result)

2022/08/26 18:30

JML

a = list(map(int, input().split()))
b = []
c = []
for j in a:
    if j>=0:
        b.append(j)
    else:
        c.append(j)
print(c + b)

2022/09/02 15:48

준표장

import java.util.ArrayList; import java.util.List; import java.util.Scanner;

public class up005 {

public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);

    System.out.print("배열의 크기를 입력하세요.: ");
    int number = scan.nextInt();

    System.out.println("배열의 값을 입력하세요.");
    int[] array = new int[number];
    for(int i= 0; i<number; i++) {
        array[i] = scan.nextInt();
    }

    List<Integer> list = new ArrayList();
    list = sorting(array);

    System.out.print("정렬 후 배열: ");
    for(Integer n: list) {
        System.out.print(n + " ");
    }

}

private static List sorting(int[] arr) {

    List<Integer> list = new ArrayList();

    for(int n: arr) {
        if(n<0) {
            list.add(n);
        }
    }

    for(int n: arr) {
        if(n>0) {
            list.add(n);
        }
    }

    return list;

}

}

2022/09/11 18:37

연뚜리뚜리

Python. 생각보다 간단히 풀이 가능했습니다.

origin_numbers=[-5, -8, -9, 1, 7, -2, 5, 8, -3] #임의로 입력한 정수(음수+양수)
positive_numbers=[] #양수만 모아 리스트화
negative_numbers=[] #음수만 모아 리스트화
for i in origin_numbers:
    if i>0:
        positive_numbers.append(i)
    else:
        negative_numbers.append(i)
print(negative_numbers+positive_numbers)

#출력 데이터 : [-5, -8, -9, -2, -3, 1, 7, 5, 8]

2022/10/03 19:34

Frye 'de Bacon

def func(lst):
    positive = []
    zero = []
    negative = []
    for num in lst:
        if num > 0:
            positive.append(num)
        elif num == 0:
            zero.append(num)
        else:
            negative.append(num)
    lst2 = []
    lst2 = negative + zero + positive
    return lst2

print(func([-1,1,3,-2,2]))


2022/10/12 20:50

전도현

list = [1, -1 , -3, 5 ,3, 8, -2, 0, -4, 9]

t1, t2, t3 = [], [], []

for i in list:
    if i < 0:
        t1.append(i)
    elif i == 0:
        t2.append(i)
    else:
        t3.append(i)

print(t1 + t2 + t3)

2022/10/17 16:17

jh

l = [-1, 1, 3, -2, 2]

ne = [n for n in l if n < 0]
po = [n for n in l if n > 0]

print(ne + po)

2022/11/30 16:25

김동훈

list = []
new = []
for i in range(5):
    i = int(input())
    list.append(i)

for i in range(0, 4, 1):
    if list[i] < 0:
        new.append(list[i])

for i in range(0, 5):
    if list[i] > 0:
        new.append(list[i])

print(new)

2022/12/20 14:22

마라떡볶이

list = [1,-1,1,3,-2,2]

def do(test): return [x for x in test if x <0] + [x for x in test if x >0]

print(do(list))

2023/01/15 21:45

김성훈

L1=input().split(); L2=[]; L3=[]

for i in range(len(L1)):
    L1[i]=int(L1[i])

for i in range(len(L1)):
    if L1[i]<0:
        L2.append(L1[i])
    else:
        L3.append(L1[i])

for i in range(len(L2+L3)):
    print((L2+L3)[i], end=' ')

2023/01/27 21:35

김민주

def po_and_ne(numbers):
    po=[]
    ne=[]
    zero=[]
    for number in numbers:
        if number>0:
            po.append(number)
        elif number<0:
            ne.append(number)
        else:
            zero.append(number)
    return ne+zero+po

numbers=[-1, 1, 3, -2, 2] 
po_and_ne(numbers)

2023/02/05 18:37

KOM BBAK

numbers = [-5,-3,-4,-1,-2,0,1,2,3,4,]
def func(numbers):
    t1,t2 = [],[]
    for i in numbers:
        if i < 0:
            t1.append(i)
        else:
            t2.append(i)
    result = t1 + t2
    return result

print(func(numbers))

2023/02/15 12:15

신찬희

number=[-1,1,3,-2,2]
negative=[]
positive=[]
for i in number:
    if i<0:
        negative.append(i)
    elif i>0:
        positive.append(i)
print(negative+positive)

2023/02/16 10:21

최민우

const func = (arr) => {
  let answer = []
  for(let num of test){
    if(num < 0){
      answer.unshift(num)
    }else{
      answer.push(num)
    }
  }
  return answer
}

2023/02/20 20:28

sooyoung159

num_list=list(map(int,input().split(',')))
num_minus=[]
num_plus=[]

for i in num_list:
    if i<0:
        num_minus.append(i)
    else:
        num_plus.append(i)    

num_list=num_minus+num_plus
print(num_list)

2023/03/07 20:25

Sol Song

양수와 음수를 나누고, 음수는 앞에, 양수는 뒤에 놓으라고 했습니다. 순서에는 변함이 없다고 하니까, 단순히 num값이 0보다 작을 때 minus 임시 배열에 넣어줬고, 0보다 크면 plus 임시 배열에 넣어준 후, ...을 활용해 연결후 반환했습니다.

let minus = [];
let plus = [];

function solution(value){
    for(let num of value){
        if(num <0){
            minus.push(num);
        } else {
            plus.push(num);
        }
    }
}

solution([-1,1,3,-2,2]);

console.log([...minus, ...plus]);

2023/03/10 16:44

KUKJIN LEE

input = [-1, 1, 3, -2, 2]
mlist = list()

plist = [i for i in input if i>0]
mlist = [i for i in input if i not in plist]
print(mlist+plist)

2023/03/20 13:08

최준하

def google(numbers):
  sortt = []
  for i in numbers: 
    if i < 0:
      sortt.append(i)
      sortt = sorted(sortt, reverse = True)
  for i in numbers:
    if i >= 0:
      sortt.append(i)

  return sortt

2023/03/27 09:57

Jay Choi

import random

#랜덤숫자 리스트 생성
max_len = 8
n_arr = []
count = 0
while(count < max_len):
    ran_num = random.randrange(-9, 10)

    if ran_num not in n_arr:
        n_arr.append(ran_num)
        count += 1

#생성된 리스트 출력
print(n_arr)

#음수 삽입정렬
count_minus = 0
for i in n_arr :
    if i < 0:
        min_num = i
        n_arr.remove(i)
        n_arr.insert(count_minus, min_num)
        count_minus += 1

#0 삽입정렬
if 0 in n_arr:
    n_arr.remove(0)
    n_arr.insert(count_minus, 0)

print(n_arr)

2023/04/03 14:22

HoHyeon Kim

# n = [-1, 1, 3, -2, 2]
# minus = []
# plus = []

# for idx in n:
#     if idx < 0:
#         minus.append(idx)
#     else:
#         plus.append(idx)
# print(minus + plus)

2023/04/15 23:02

이준수

n = [-1, 1, 3, -2, 2]
minus = []
plus = []

for idx in n:
    if idx < 0:
        minus.append(idx)
    else:
        plus.append(idx)
print(minus + plus)

2023/04/15 23:04

이준수

python

numbers = [5,-1,-3,-2,0,3,4,1,2,-4,-5]
under = []
over = []


for number in numbers:
    if number < 0 :
        under.append(number)
    elif number > 0:
        over.append(number)
result = under + over
result.sort()
print(result)

2023/04/25 18:00

Noooooob

def special_sort(obj):
    minus = []
    for i in obj:
        if i < 0:
            minus.append(i)
            obj.remove(i)
    return minus + obj

print(special_sort([-1, 1, 3, -2, 2]))

2023/05/09 17:25

띵띵동

array=input().split(' ')
print(' '.join(array),end='')
integer_array=list()
for a in array:
    integer_array.append(int(a))
true_list_array=list()
for a in integer_array:
    if a<0:
        true_list_array.append(str(a))
for a in integer_array:
    if a>=0:
        true_list_array.append(str(a))
print(" ans: ",' '.join(true_list_array),'.')

2023/05/30 10:54

박성우

arr=list(map(int,input().split()))

plus=[]
minus=[]

for i in arr:
    if i<0:
        minus.append(i)
    else:
        plus.append(i)

print(minus+plus)

2023/06/14 21:31

ddd

import java.util.ArrayList;
import java.util.List;

public class SelfTest_5 {
    public static void main(String[] args) {

        int[] Array = {-1,1,3,-2,2};

        List<Integer> plus = new ArrayList<>();
        List<Integer> minus = new ArrayList<>();
        List<Integer> joined = new ArrayList<>();

        for (int i=0 ; i<Array.length;i++) {
            if(Array[i]>0) {
                plus.add(Array[i]);
            }
        }
        for (int i=0 ; i<Array.length;i++) {
            if(Array[i]<0) {
                minus.add(Array[i]);
            }
        }

        joined.addAll(minus);
        joined.addAll(plus);


        System.out.print(joined);


    }
}

2023/06/19 09:53

JongHo Han

lists = [-1,1,3,-2,2]
negative = []
positive = []
for i in lists:
   if i > 0:
      positive.append(i)
   else:
      negative.append(i)
print(negative + positive)

2023/07/05 11:46

siu yoon

import java.util.*;

public class TrialAndError {
    public static void main(String[] args) {
        System.out.print("원하는 정수를 다 입력해보세요 ㅋ: ");
        Scanner sc = new Scanner(System.in);
        StringTokenizer st = new StringTokenizer(sc.nextLine(), " ");
        int s = st.countTokens();
        int[] intArray = new int[s];
        for(int i = 0; i < s; i++) {
            intArray[i] = Integer.parseInt(st.nextToken());
        }
        ArrayList<Integer> excArray = new ArrayList<>();
        for(int i : intArray) {
            if(i < 0) {
                System.out.print(i + " ");
            } else {
                excArray.add(i);
            }
        }
        for (Integer i : excArray) {
            System.out.print(i + " ");
        }
    }
}

2023/07/30 19:51

심상균



def chg(List):
    NewList1=[i for i in List if i<0]
    NewList2=[i for i in List if i>=0]

    return NewList1+NewList2

a=[-1,-4,4,6,-2,6,4,-2,-2,4,0]
b=chg(a)
print(b)


2023/08/01 13:22

Sojin H

data = [-1, 1, 3, -2, 2]

t1 , t2 = [], []
for n in data:
    if n < 0:
        t1.append(n)
    else:
        t2.append(n)
result = t1 + t2
print(result)

2023/08/12 21:02

이광진

numberlist = [-1,1,3,-2,2]
emptylist = []


for i in numberlist :
    if i < 0 :
        emptylist.append(i)
        numberlist.remove(i)

result = emptylist+numberlist

print(result)

2023/10/10 10:28

윤상하

list = [-1,1,3,-2,2]

def new_array(list):
    t1,t2 = [],[]
    for i in list:
        if i < 0:
            t1.append(i)
        else:
            t2.append(i)
    result = t1 + t2
    return result

print (new_array(list))

2023/10/16 02:47

NH Kim

n = [-1, 1, 3, -2, 2]
ar = []
ar1 = []
for x in n:
    if x < 0:
        ar.append(x)
        print(ar)

    else:
        ar1.append(x)
        print(ar1)
print(ar+ar1)

2023/11/04 09:10

박인희

아주 초보자 수준에서 풀어봤습니다. 음의 정수가 나오는 경우, 새로운 리스트에 append하지 않고 insert를 사용해서 더하는 방법으로 접근했습니다.

list = [3, 1, -1, 4, -5, 2]
sortlist = []
idx = 0

for i in list:
    if i >= 0:
        sortlist.append(i)
    else:
        sortlist.insert(0+idx, i)
        idx += 1

print(sortlist)

2023/11/14 23:20

세이건칼

def special_sort(arr):
    negative = [x for x in arr if x < 0]
    positive = [x for x in arr if x >= 0]
    return negative + positive

2024/01/03 05:13

박시우

def move_positives_right(arr): length = len(arr) i = 0 count = 0 while count < length: if arr[i] >= 0: arr.append(arr.pop(i)) else: i += 1 count += 1 return arr - 박시우, 2024/01/03 15:33
def special_sort(inp):
    result = []
    nidx = 0
    for i in inp:
        if i <0:
            result.insert(nidx, i)
            nidx += 1
        else:
            result.append(i)
    return result

inp_list = [-1, 1, 3, -2, 2]
print(special_sort(inp_list))

2024/01/29 19:14

insperChoi

a = input()
before = list(map(int, a.split(' ')))
n = len(before)
minus = []
plus = []
for num in before:
    if num < 0:
        minus.append(num)
    else:
        plus.append(num)
result = minus + plus
print(result)

2024/04/08 15:02

리리

public class specialSort {
    public static void main(String[] args) {
        int[] array = new int[]{1,2,-3,4,-5}; // -1,-3,2,4,5
        for (int i = 0; i < array.length; i++) {
            if(array[i] > 0){
                for (int j = 0; j < (array.length)-1; j++) { // 두번째 배열부터 비교 시작
                    if(array[j] >0 && array[j+1] < 0){
                        int temp = 0;
                        temp = array[j];
                        array[j] = array[j+1];
                        array[j+1] = temp;

                    }
                }

            }
        }
        System.out.print("{");
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i] + ",");

        }
        System.out.print("}");
    }
}

2024/07/15 16:25

김창섭

num_list = input("정수 배열 입력: ").split()
num_list = [int(num) for num in num_list]
positive_num = []
negative_num = []
for i in num_list:
    if i > 0:
        positive_num.append(i)
    elif i < 0 :
        negative_num.append(i)

result = str(negative_num + positive_num)
print(result)

2024/08/10 15:32

먼지

include

using namespace std;

// 절대값을 반환하는 함수 int check(int num) { return (num >= 0) ? num : -num; }

int main() { int array[5] = {-1, -2, 1, 3, 2};
int new_array[5] = {};

// 배열의 크기를 계산
int array_size = sizeof(array) / sizeof(array[0]);

// 각 요소에 대해 절대값을 계산하여 새 배열에 저장
for (int cnt = 0; cnt < array_size; ++cnt) {
    new_array[cnt] = check(array[cnt]);
}

// 새 배열 출력
for (int cnt = 0; cnt < array_size; ++cnt) {
    cout << new_array[cnt] << " ";
}
cout << endl;

return 0;

}

2024/09/16 23:44

유경규

#include<iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    // n개의 정수를 가진 배열
    // 양의 정수와 음의 정수를 갖고있을때 정렬
    int n;
    cout << "배열의 크기를 입력하시오: ";
    cin >> n;

    vector<int> arr(n);
    vector<int> negatives, positives;
    cout << "배열의 요소들을 입력하세요";
    for (int i = 0; i < n; i++) {
        cin >> arr[i];
        (arr[i] > 0 ? positives.push_back(arr[i]) : negatives.push_back(arr[i]));
    }
    sort(positives.begin(), positives.end());
    sort(negatives.begin(), negatives.end());
    cout << "양의 정수: ";
    for(int i=0;i<positives.size();i++)
    cout << positives[i] << " ";
    cout << "음의 정수: "<<" ";
    for (int i = 0; i<negatives.size(); i++)
        cout << negatives[i] << " ";

}

2024/09/30 19:43

아드구

ex = [-1,1,3,-2,2]
r1, r2 = [], []
_ = [ r1.append(x) if x<0 else r2.append(x) for x in ex ]
print(f"ex: {ex} \t ans: {r1+r2}")
> ex: [-1, 1, 3, -2, 2]      ans: [-1, -2, 1, 3, 2]

2024/10/08 03:52

무므뭇

var n = [-1, 1, 3, -2, 2]; var minus = [] var plus = []

if (n >= 0) {
  plus.push(n)
} else {
  minus.push(n)
}

console.log(minus);

2024/12/02 16:01

Kideok KIM

def arrange(number_list) :
    result_N = []
    result_P = []
    for n in range(len(number_list)) :
        if number_list[n] < 0 :
            result_N.append(number_list[n])
        else :
            result_P.append(number_list[n])
    result = result_N + result_P
    return result

2024/12/07 10:55

Orange

JAVA입니다.

package question2.special_sort;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class SpecialSort {

    public static void main(String[] args) {
        int[] ints = {-1, 1, 3, -2, 2};
        List<Integer> minus = new ArrayList<Integer>();
        List<Integer> plus = new ArrayList<Integer>();

        for (int integer : ints) {
            if(integer < 0) {
                minus.add(integer);
            }
            else {
                plus.add(integer);
            }
        }

        minus.addAll(plus);
        System.out.print("ans: ");
        for (Integer integer : minus) {
            System.out.print(integer + " ");
        }
    }

}

2025/01/23 22:11

박준우

def spec_sort(ex_list):
  return[x for x in ex_list if int(x) < 0] + [x for x in ex_list if int(x) == 0] + [x for x in ex_list if int(x) > 0]

sortList = input("Enter list of numbers(seperate with a comma(,)): ")
sortList = sortList.split(",")

sortList = spec_sort(sortList)
print(sortList)

-1 1 3 -2 2은 예시라서 입력을 받고, 입력을 받은 숫자 중에 0이 있을 경우를 생각해서 코드 작성

2025/02/24 14:40

Dasol Lee

num = list(input("정수 리스트 입력, 쉼표로 구분: ").split(","))

result = [int(num[i]) for i in range(len(num)) if int(num[i])<0] + [int(num[i]) for i in range(len(num)) if int(num[i])>=0]
result

2025/08/12 13:32

허거덩

def special_sort(arr):
    # 1. 음수들을 저장할 리스트와 양수들을 저장할 리스트를 초기화합니다.
    #    각 리스트에 원본 배열의 요소를 추가하는 순서가 곧 상대적 순서를 보존하는 방법입니다.
    negatives = []
    positives = []

    # 2. 입력 배열의 각 요소를 for 반복문으로 순회합니다.
    #    모든 요소를 단 한 번만 확인하므로 시간 복잡도는 O(N)이 됩니다.
    for x in arr:
        # 3. 각 요소를 확인하여 음수인지 양수인지(또는 0인지) 판단합니다.
        if x < 0:
            # 음수인 경우, negatives 리스트에 현재 순서대로 추가합니다.
            negatives.append(x)
        else: # x >= 0 (양수 또는 0)
            # 양수인 경우, positives 리스트에 현재 순서대로 추가합니다.
            positives.append(x)

    # 4. 모든 요소를 분리한 후, negatives 리스트 뒤에 positives 리스트를 합쳐서 반환합니다.
    #    negatives = [-1, -2]
    #    positives = [1, 3, 2]
    #    결과 = [-1, -2, 1, 3, 2]
    return negatives + positives

# 입출력 예시 확인
input_arr = [-1, 1, 3, -2, 2]
print(f"입력: {input_arr}")
print(f"출력: {special_sort(input_arr)}") # 예상 출력: [-1, -2, 1, 3, 2]

input_arr_2 = [5, -3, 0, 7, -1, 4]
print(f"입력: {input_arr_2}")
print(f"출력: {special_sort(input_arr_2)}") # 예상 출력: [-3, -1, 5, 0, 7, 4]

input_arr_3 = [-10, -5, -1, -2]
print(f"입력: {input_arr_3}")
print(f"출력: {special_sort(input_arr_3)}") # 예상 출력: [-10, -5, -1, -2]

input_arr_4 = [10, 5, 1, 2]
print(f"입력: {input_arr_4}")
print(f"출력: {special_sort(input_arr_4)}") # 예상 출력: [10, 5, 1, 2]

2025/11/03 00:41

습자

def sort_number(a):
    minus = list(filter(lambda x:x<0,a))
    zero = list(filter(lambda x:x==0,a))
    plus = list(filter(lambda x:x>0,a))

    return minus+zero+plus

print(sort_number(a))

2025/11/30 16:19

k

data = '-1 1 3 -2 2'.split()
print(' '.join([n for n in data if int(n) < 0] + [n for n in data if int(n) >= 0]))

2026/05/14 01:15

우영재

목록으로