35번 문제   

 

 



    내가 풀이한 답   

 앞에서 

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

int main() {
	//freopen("input.txt", "rt", stdin);
	
	int n, i, j, temp, idx, con = 0;
	scanf("%d", &n);
	int *arr = (int *)malloc(sizeof(int) * n);
	
	for(i=0; i<n; i++){
		scanf("%d", &arr[i]);
	}
	
	for(i=0; i<n; i++){
		if(arr[i] < 0){
			idx = i;
			for(j=i-1; j>=con; j--){
				temp = arr[j];
				arr[j] = arr[idx];
				arr[idx] = temp;
				idx--;
			}
			con++;
		}
	}
	
	for(i=0; i<n; i++){
		printf("%d ", arr[i]);
	}
	
    free(arr);
	return 0;
}

 

 결과는 통과하였다.

 

 



    사이트의 답안   

#include<stdio.h>
int main() {
	freopen("input.txt", "rt", stdin);
	int a[101], n, tmp, min, i, j;
	scanf("%d", &n);
	for(i=0; i<n; i++){
		scanf("%d", &a[i]);
	}
	for(i=0; i<n-1; i++){
		for(j=0; j<n-i-1; j++){
			if(a[j]>0 && a[j+1]<0){
				tmp=a[j];
				a[j]=a[j+1];
				a[j+1]=tmp;
			}
		}
	}
	for(i=0; i<n; i++){
		printf("%d ", a[i]);
	}
	return 0;
}



 

 

'알고리즘 & 자료구조 > 정렬' 카테고리의 다른 글

37. Least Recently Used(카카오 캐시 문제 변형)  (0) 2020.09.12
36. 삽입정렬  (0) 2020.09.11
34. 버블정렬  (0) 2020.09.11
33. 3등의 성적은?  (0) 2020.09.11
32. 선택정렬  (0) 2020.09.11