알고리즘/it 취업을 위한 알고리즘 문제풀이
35. Special Sort
고줭
2021. 5. 21. 16:22
문제
N개의 정수가 입력되면 당신은 입력된 값을 정렬해야 한다. 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다. 또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다.
입력설명
첫 번째 줄에 정수 N(5<=N<=100)이 주어지고, 그 다음 줄부터 음수를 포함한 정수가 주어진 다. 숫자 0은 입력되지 않는다.
출력설명
정렬된 결과를 출력한다.
입력예제
8
1 2 3 -3 -2 5 6 -6
출력예제
-3 -2 -6 1 2 3 5 6
#include <stdio.h>
using namespace std;
int main(){
//freopen("input.txt", "rt", stdin);
int n, i, j, temp, number[101];
scanf("%d", &n);
for(i=0; i<n; i++){
scanf("%d", &number[i]);
}
for(i=0; i<n-1; i++){
for(j=0; j<n-1; j++){
if(number[j]>0 && number[j+1]<0){
temp = number[j];
number[j] = number[j+1];
number[j+1] = temp;
}
}
}
for(i=0; i<n; i++){
printf("%d ", number[i]);
}
return 0;
}
vector로 풀어야하나 했는데 버블정렬로 쉽게 풀수있엇네요 ㅠㅠㅠ 오늘도 한수배웁니다...ㅠㅠ