36번 문제   

 

 



    내가 풀이한 답   

 앞에서 

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

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

 

 결과는 통과하였다.

 

 



    사이트의 답안   

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

 

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

37. Least Recently Used(카카오 캐시 문제 변형)  (0) 2020.09.12
35. Special Sort(구글 인터뷰)  (0) 2020.09.11
34. 버블정렬  (0) 2020.09.11
33. 3등의 성적은?  (0) 2020.09.11
32. 선택정렬  (0) 2020.09.11