37번 문제
내가 풀이한 답
앞에서
#include <stdio.h>
#include <stdlib.h>
int main() {
//freopen("input.txt", "rt", stdin);
int n, m, i, a, j, idx, flag = -1;
scanf("%d %d", &n, &m);
int *arr = (int *)malloc(sizeof(int) * n);
for(i=0; i<m; i++){
scanf("%d", &a);
flag = -1;
for(j=0; j<n; j++){
if(arr[j] == a) {
idx = j;
flag = 1;
}
}
if(flag == 1){
for(j=idx-1; j>=0; j--){
arr[j+1] = arr[j];
}
}
else {
for(j=n-2; j>=0; j--){
arr[j+1] = arr[j];
}
}
arr[0] = a;
}
for(i=0; i<n; i++){
printf("%d ", arr[i]);
}
free(arr);
return 0;
}
결과는 통과하였다.
사이트의 답안
#include <stdio.h>
int C[20];
int main() {
freopen("input.txt", "rt", stdin);
int s, n, a, i, j, pos;
scanf("%d %d", &s, &n);
for(i=1; i<=n; i++){
scanf("%d", &a);
pos=-1;
for(j=0; j<s; j++) if(C[j]==a) pos=j;
if(pos==-1){
for(j=s-1; j>=1; j--) C[j]=C[j-1];
}
else{
for(j=pos; j>=1; j--) C[j]=C[j-1];
}
C[j]=a;
}
for(i=0; i<s; i++) printf("%d ", C[i]);
return 0;
}
'알고리즘 & 자료구조 > 정렬' 카테고리의 다른 글
36. 삽입정렬 (0) | 2020.09.11 |
---|---|
35. Special Sort(구글 인터뷰) (0) | 2020.09.11 |
34. 버블정렬 (0) | 2020.09.11 |
33. 3등의 성적은? (0) | 2020.09.11 |
32. 선택정렬 (0) | 2020.09.11 |