사용자로부터 n개의 정수를 입력받은 후 중복된 정수들을 제거하고 남은 정수들만 출력한다.
입력
-2 3 12 -1 12 13 12 13 3 5 -1 0 4출력
-2 -1 0 3 4 5 12 13
#include <iostream>
using namespace std;
const int MAX = 100;
int main() {
int n, temp;
int data[MAX] = {};
int ans[MAX] = {};
cin >> n;
for (int i = 0; i < n; i++)
cin >> data[i];
for (int i = n-1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (data[j] > data[j+1])
int temp = data[j];
data[j] = data[j+1];
data[j+1] = temp;
}
}
int idx = -1;
for (int j = 0; j < n-1; j++) {
if (j < n-2 && data[j] != data[j+1])
ans[++idx] = data[j];
else if (j == n-2 && data[j] != data[j+1]) {
ans[++idx] = data[j];
ans[++idx] = data[j+1];
}
}
cout << idx; // 0
for (int k = 0; k <= idx; k++)
cout << data[k] << " "; // 4
return 0;
}
#include <iostream>
using namespace std;
const int MAX = 100;
int main() {
int n, temp;
int data[MAX] = {};
int ans[MAX] = {};
cin >> n;
for (int i = 0; i < n; i++)
cin >> data[i];
for (int i = n-1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (data[j] > data[j+1])
int temp = data[j];
data[j] = data[j+1];
data[j+1] = temp;
}
}
int idx = 0;
ans[idx] = data[0];
for (int j = 1; j < n; j++) {
if (data[j] != data[j-1]) {
idx++;
ans[idx] = data[j];
// ans[++idx] = data[j];
}
}
cout << idx;
for (int k = 0; k <= idx; k++)
cout << ans[k] << " ";
for (int i = 0; i < n; i++)
cout << data[i] << " ";
return 0;
}
#include <iostream>
using namespace std;
const int MAX = 100;
int main() {
int n;
int data[MAX];
cin >> n;
for (int i = 0; i < n; i++)
cin >> data[i];
for (int i = n-1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (data[j] > data[j+1]) {
int tmp = data[j];
data[j] = data[j+1];
data[j+1] = tmp;
}
}
}
int k = 0;
for (int i = 1; i < n; i++) {
if (data[i] != data[i-1])
data[++k] = data[i];
}
for (int i = 0; i <= k; i++)
cout << data[i] << " ";
cout << endl;
return 0;
}
어느부분에서 목표 출력값과 다르게 나오는지 다시 살펴보고 써야겠다.