abcabdefdg
c e f g
#include<stdio.h>
int main() {
char c[10];
char com[10] = {0,};
char result[10] = { 0, };
for (int i = 0; i < 10; i++) {
scanf("%c", &c[i]);
}
int k = 0;
for (int i = 0; i < 10; i++) {
for (int j = i+1; j < 10; j++) {
if (c[i] == c[j]) {
com[i] = c[i];
c[j] = 0;
}
}
if (com[i] == c[i]) {
c[i] = 0;
}
if (c[i] != 0) {
result[k++] = c[i];
}
}
for (int i = 0; i < k; i++) {
printf(" %c", result[i]);
}
원본 배열과 비교 후 중복된 문자가 있는 배열 생성, 원본 배열의 값을 다른 값으로 바꾸어줌 (별로 좋지 않은 방법인 것 같다.)
바뀌지 않은 값이 있을 수 있으므로 중복된 문자가 있는 배열과 원본 배열 비교 후 중복되는 값이 있으면 다른 값으로 바꾸어줌.
바꾼 값을 0 이라 가정했을때, 0과 같은 값이 아니면 result 배열에 저장 후 출력
비교적 간단한 문제이지만 중복을 생각하니 꽤나 애를먹었다.😥