#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int f(const void *a, const void *b) {
return (*(char *)b - *(char *)a);
}
int main() {
char N[11];
scanf("%s", N);
int len = strlen(N);
qsort(N, len, sizeof(char), f);
// 정렬된 결과 출력
printf("%s\n", N);
return 0;
}
1.문자들로 이루어진 숫자를 입력받는다.
2.길이를 확인한다.
3.qsort함수를 이용하여 배열을 정리한다.
3-1.이때 문자로 이루어진 숫자를 비교하는 것 처럼 정리된다.
4.출력한다.
#include <stdio.h>
#include <string.h>
int main() {
char S[1000001];
scanf("%s", S);
int count_0 = 0;
int count_1 = 0;
int len = strlen(S);
if (S[0] == '0') {
count_0++;
} else {
count_1++;
}
for (int i = 1; i < len; i++) {
if (S[i] != S[i - 1]) {
if (S[i] == '0') {
count_0++;
} else {
count_1++;
}
}
}
if (count_0 < count_1) {
printf("%d\n", count_0);
} else {
printf("%d\n", count_1);
}
return 0;
}
1.scanf를 통해 비교할 문자를 입력받습니다.
2.기준이 될 숫자를 정해 비교를 시작합니다.
3.for문에서 순회 중 숫자가 달라지는 지 확인합니다.
4.0과 1로 이루어진 덩어리 중 양이 더 적은 쪽을 출력합니다.